java - Server和Client之间的同步时钟

标签 java time client

在我的应用程序中,我有一个服务器和 x 个客户端。当一个客户端启动时,他从服务器获取当前系统时间。每个客户端都必须使用服务器时间,不能使用自己的系统时间。

现在我的问题是:在客户端上运行时钟的最佳方式是什么,该时钟以当前服务器时间开始并几乎与其同步运行,而不每隔 x 秒接收一次服务器时间?

目标是在客户端显示带有服务器时间的运行时钟。

客户端时钟的容差大约是 24 小时内 1 秒。

在我的解决方案中,我有一个计时器,它每 500 毫秒触发一次,并在计时器执行时计算服务器时间 500 毫秒。但这不是一个好的解决方案 :) 因为客户端时钟与服务器时间不同。

感谢您的回复

最佳答案

您几乎可以肯定地使用已建立的时钟同步方法,例如 the Network Time Protocol而不是构建您自己的自定义解决方案。它将为您提供比您自己做出的更好的结果,并且您还有一个额外的好处,即您的所有服务器都同意现在的时间:-)

关于java - Server和Client之间的同步时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224494/

相关文章:

JAVA GUI 和 AS400 RPGLE

python - 在 Python 中,time() 返回的纪元时间是否始终从 1970 年 1 月 1 日开始计算?

java - 使用 System.currentTimeMillis() 每秒运行一次代码

c - 套接字编程-简单的客户端/服务器

JavaScript 客户端 : Websocket not working?

java - 更新时executeBatch()锁定表

java - 没有 IllegalArgumentException 的 Apache commons PredicatedList

java - 列出对象 - 最佳实践

javascript - 如何在javascript中找到两个时间之间的差异?

python - Python 中以 null 结尾的字符串转换为 Int