在我的应用程序中,我有一个服务器和 x 个客户端。当一个客户端启动时,他从服务器获取当前系统时间。每个客户端都必须使用服务器时间,不能使用自己的系统时间。
现在我的问题是:在客户端上运行时钟的最佳方式是什么,该时钟以当前服务器时间开始并几乎与其同步运行,而不每隔 x 秒接收一次服务器时间?
目标是在客户端显示带有服务器时间的运行时钟。
客户端时钟的容差大约是 24 小时内 1 秒。
在我的解决方案中,我有一个计时器,它每 500 毫秒触发一次,并在计时器执行时计算服务器时间 500 毫秒。但这不是一个好的解决方案 :) 因为客户端时钟与服务器时间不同。
感谢您的回复
最佳答案
您几乎可以肯定地使用已建立的时钟同步方法,例如 the Network Time Protocol而不是构建您自己的自定义解决方案。它将为您提供比您自己做出的更好的结果,并且您还有一个额外的好处,即您的所有服务器都同意现在的时间:-)
关于java - Server和Client之间的同步时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224494/