我有一个服务器/客户端应用程序,我需要将客户端的时间与服务器的时间同步。因此,我需要在服务器应用程序和客户端的NTP客户端上实现NTP服务器(或类似)。
NTP不是必需的,但它必须准确至少50ms(然后它已经有点关键,但仍然可用,直到我找到更好的解决方案)。
有没有人有任何建议,如果有一个好的实现可以帮助我,或者是否可以自己实现(具有所需的精度)。
服务器应用程序在客户家用PC上运行。客户的计算机不必须更改时间,只有客户端(在专用计算机上运行,在Ubuntu上运行)。
这是一个物联网项目,有许多客户端是非常小的硬件设备,应该与服务器具有相同的日期/时间。因为客户端不会使用客户端的配置,并且他无法访问它(它是黑盒子),所以如果需要,我可以使用管理员权限运行我的应用程序。
我不想在客户端的家用PC上安装NTP服务器。这就是我想在Java应用程序中提供此功能的原因。
答案 0 :(得分:1)
在apache commons-net中有一个NtpClient可供你使用。您可以使用它来计算至少客户端PC的时钟漂移并尝试对此进行补偿。