5

我正在使用我自己的协议通过互联网在两台专用计算机之间发送实时关键数据。

当然,存在延迟。

对于调试和优化,我喜欢让两台计算机使用相同的时基。即,我需要知道他们时钟的时差,以便更好地判断延迟。

当然,相对论之类的东西并不能真正让我完美地同步它们,但我喜欢尽可能接近。

仅依靠 NTP 似​​乎还不够好 - 根据我的经验,时钟可能会延迟半秒(澄清:到目前为止,我依赖于 Apple 提供的默认时钟)。

我需要至少 1/10 秒范围内的精度。两台计算机不会相距太远,ICMP ping 时间通常小于 100 毫秒。

任何建议如何做到这一点?

(目前,所涉及的机器运行 OS X,所以如果您知道专门为它们提供的解决方案,那将是一个开始)

4

4 回答 4

10

从连接到机器的 GPS 接收器获取时间。如果他们在数据中心,可能很难将天线安装到可以锁定的位置,但不幸的是。

于 2009-03-03T15:13:06.277 回答
7

我建议您最好的选择是在其中一台机器上安装一个 ntp 服务器,并让另一台与它同步。

于 2009-03-03T15:15:08.253 回答
2

您是否尝试将其中一台机器作为另一台机器的 NTP 服务器?可能它们不会与“实时”时间同步,但这可能会使您达到所需的精度。

于 2009-03-03T15:15:46.003 回答
2

仅依靠 NTP 似​​乎还不够好 - 根据我的经验,时钟可能会延迟半秒。

那很奇怪。Internet 上的 NTPd 应该为您提供更高的精度。

于 2009-03-03T15:29:21.290 回答