F fanronghua Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-14 #1 客户端服务器方式。客户端的时间可能不准,在不修改客户端机器时间的模式下,怎么去保证 客户短与服务短时间一样。
F fanronghua Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-14 #3 不能经常去读,最好 就 启动的时候读一次,以后 都不读,
Y yy251745080 Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-14 #4 以启动时服务器的时间作为基准,然后程序对时间累加,虚拟时间.这样也不用改客户端的时间了
F fanronghua Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-15 #5 yy251745080: 你说的没有错,但是 我用Gettickcount 来记录时间差,但是这个时间不准,一个小时要差6秒钟。
F fanronghua Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-24 #6 这个 时间,根据各个机器不同,各有差异。谁有巧妙的办法。
T tseug Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-24 #8 既然不想改变客户端时间,不妨这样 1、读取服务器时间 2、读取客户端时间 3、计算差值 4、需要时间时就读取客户端时间加上差值
F fanronghua Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-15 #9 既然不想改变客户端时间,不妨这样 1、读取服务器时间 2、读取客户端时间 3、计算差值 4、需要时间时就读取客户端时间加上差值 -------------------当需要时候 客户端时间让用户该成了2099-12-12 12:12:12 这样的时间怎么办? 想这样的时间是不对的。
既然不想改变客户端时间,不妨这样 1、读取服务器时间 2、读取客户端时间 3、计算差值 4、需要时间时就读取客户端时间加上差值 -------------------当需要时候 客户端时间让用户该成了2099-12-12 12:12:12 这样的时间怎么办? 想这样的时间是不对的。
S shadowpj Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-15 #10 我现在的模式: 1、所以关于客户端提示数据中带时间的一律从服务器中取(select getdate() ) 2.客户端一般都是权限设置死了只给user权限 不可以修改时间 3.客户端程序每次启动都取到服务器时间进行同步(就是修改客户端时间)
我现在的模式: 1、所以关于客户端提示数据中带时间的一律从服务器中取(select getdate() ) 2.客户端一般都是权限设置死了只给user权限 不可以修改时间 3.客户端程序每次启动都取到服务器时间进行同步(就是修改客户端时间)
N NewLearner Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-15 #11 所有时间都只从服务器读取不就行了。比如,如果是用ms sql,那么每次涉及时间的,都用 'select getdate() as 时间 '来获取
F fanronghua Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-17 #12 shadowpj,NewLearner 客户端和服务器是用 UDP 连接的,是通过外网连的,而且客户端程序不涉及到Sql操作。
U ufo Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-17 #13 启动程序时从服务器获取一次时间 然后和本地计算出时间差备用 然后收取时间更改消息,当客户机时间被修改,你会收到此消息,具体资料可查msdn 当发现本机时间被修改,重新从服务器获取时间
F funxu Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-19 #14 1.使用目前最流行的加密锁,例如神思,roky和彩虹等。锁内均带有计时器,可以计算时间但是单客户端成本较高 2.用服务端把时间发送给客户端,在客户端显示不行么?或者可能的话在udp传输包的中间加上时间戳作为验证,由客户端收取到数据包后取得服务端的时间显示出来?
1.使用目前最流行的加密锁,例如神思,roky和彩虹等。锁内均带有计时器,可以计算时间但是单客户端成本较高 2.用服务端把时间发送给客户端,在客户端显示不行么?或者可能的话在udp传输包的中间加上时间戳作为验证,由客户端收取到数据包后取得服务端的时间显示出来?
F fanronghua Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-19 #15 ufo!, 1。如果用GetTickcount 来计算时间差,你有没有发现这个时间是不准确的一个小时可能差几秒。 2。就用你这个方法如果当用户修改了本地时间,你去读取服务器时间,这个时候服务器不在线,你怎么办? funxu, 1。目前的情况下,我们客户端软件虽然有狗,但是好像没有这个功能。 2。这个方案和上面的方案一样的,你的意思在每个Polling 包中带有服务器的时间,Polling 每一分钟一次。那我在这个一分钟中间要传输包,我这个时间取那个时间?
ufo!, 1。如果用GetTickcount 来计算时间差,你有没有发现这个时间是不准确的一个小时可能差几秒。 2。就用你这个方法如果当用户修改了本地时间,你去读取服务器时间,这个时候服务器不在线,你怎么办? funxu, 1。目前的情况下,我们客户端软件虽然有狗,但是好像没有这个功能。 2。这个方案和上面的方案一样的,你的意思在每个Polling 包中带有服务器的时间,Polling 每一分钟一次。那我在这个一分钟中间要传输包,我这个时间取那个时间?
U ufo Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-19 #16 计算时间差,用now函数取回,然后加减就行,不用GetTickcount