我正在用Java创建一个web应用程序,其中我需要在客户端浏览器上运行一个反向计时器。我计划将剩余时间从服务器发送到客户端,然后使用javascript计时器。
我的问题是:
发布于 2012-06-22 21:19:42
时钟滴答率是否因系统不同而不同?
是的,这是芯片组中使用的quatrz频率差异非常非常小的结果。因此,如果你时不时地不同步你的时钟,它们就会发散。
然而,如果你不是在设计卫星,弹道导弹的远程控制,或者生命支持设备,你真的不应该关心。
有没有更好的方法来做到这一点?
是,如果:
您可以使用NTP protocol来确保客户端和服务器时钟同步。有适用于JavaScript和Java的NTP库。
发布于 2012-06-27 18:51:06
@npe带NTP的-s解决方案可以,但理论上是不正确的:
即使时钟完全同步,您也会向客户端发送remaining-time.但是该消息需要在网络上传输,所以当客户端收到它时,它将不再正确。
更好的方法是将结束时间发送到客户端,这是一个绝对值,因此不受网络延迟的影响,并在客户端进行倒计时,计算剩余时间。
也就是说,关于NTP的其他答案当然也是必要的
https://stackoverflow.com/questions/11156681
复制相似问题