如何使客户端程序始终与服务器时间同步?(200分)

  • 主题发起人 主题发起人 点背
  • 开始时间 开始时间

点背

Unregistered / Unconfirmed
GUEST, unregistred user!
各位专家:
点背的我最近做一小程序,其间需要客户端程序始终与服务器时间同步.但我用NET TIME仅
能使程序开启时与服务器时间同步,且客户端可以随意调整时间。请问各位专家,如何才
能使客户端程序始终与服务器时间同步呢?而且让客户端无法调整。另外,有没有其它的
方法达到同样的目的,比如可不可以创建自己的时钟,让它独立于系统时间来运行,有的
话,又如何创建呢?

200分不够的话,我可以再加,先谢谢了!
 
如果运行sqlserver的话,有函数getdate()
可将/windows/system下的Timedate.cpl删除或更名。
 
谢谢aerobull!
通过Timedate.cpl的改名确是可以屏蔽客户机的时间调整问题。
请问SQLSERVER中函数getdate()如何使用才能使客户机始终与服务器同步呢?只要解决问题
分数随你要。
先谢了!
 
在sqlserver中,不用去同步时间
要用时间时到服务器去取一下。
设置时间用函数
SetSystemTime

var
MyTime:TSystemTime;
begin
myTime.wyear:='2001';
myTime.wmontt:='1';
myTime.wday:='1';
SetSystemTime(MyTime);
end;
 
取服务器的时间,ADOQUERY.SQL.TEXT:='SELECT GETDATE()';ADOQUERY连接服务器上
 
最好在服务器上建一个存储过程,在客户机上设一个ttimmer 控件。定时更新客户端的时间。
 
存储过程:
create procedure pro_gettime
as
select getdate()
 
一、如果你用每一秒钟取一次服务器时间后来纠正客户端的时间很麻烦的,不过你如果需要
这样,那么用一个ttimer控件,在其计时事件中执行select getdate()
二、在你的程序中需要取时间的地方取服务器时间,根本不用管客户端当前时间是什么,一
样用select getdate()取时间
 
不准客户端改自己的时间应该不大可能, 而且也不合理吧?
当然你可以用TIMER,每秒更改系统时间, 不过我觉得好象没这个必要

正如VV说的办法,在你的程序中需要取时间的地方取服务器时间就行了,客户端机器是什么
时间我根本不用理。
 
多人接受答案了。
 
后退
顶部