【发布时间】:2010-10-29 20:08:02
【问题描述】:
我需要我的软件与 NTP 服务器通信以确定本地时钟偏移。我曾尝试使用 org.apache.commons.net.ntp 包,但在 Windows 上运行时它的实现相当差,因为使用 System.currentTimeMillis() 来确定 NTP 数据包交换前后的时间。你可能知道也可能不知道,这个值只在系统时钟滴答声时更新,在大多数现代 Win2k3 服务器上是 64Hz 或每 15.625ms。这极大地限制了时钟偏移计算的准确性。
Ntpd 使用 CPU 高频定时器在系统时钟节拍之间进行插值,并获得更高的分辨率时间。您知道使用这种技术或类似技术的 Java 实现吗?或者您知道除 Apache 之外的任何其他 NTP 实现吗?
【问题讨论】:
-
不能向 Apache Commons 库提交补丁吗?
-
如果有时间实施和测试它,以及我的公司霸主的意愿,是的,我可以。
-
我在 Software Recommendations Stack Exchange 上询问了 a similar Question。