【发布时间】:2015-06-12 23:45:56
【问题描述】:
我想通过 JavaScript 与 NTP 同步时间。 客户端可以是普通电脑或智能手机或平板电脑。连接可以是 WLAN 或 3G 等。
我已经找到了这些问题和网站
- how to get ntp time from through javascript
- JavaScript NTP time
- http://jehiah.cz/a/ntp-for-javascript
- Synchronize time in javascript with a good precision (>0.5s) (NTP-like)
第一个和第二个链接使用来自该服务器的时间戳:http://json-time.appspot.com/time.json
但是日期对象只有第二个精度。我想要一个更好的精度,如果可能的话~ 10 ms。 (我知道精度取决于连接和往返时间)
编辑: 10 毫秒几乎是不可能的。我想要最精确的偏移量。
第三个链接显示了一个 JavaScript 库,但它不使用与 ntp 服务器的直接连接。第四个链接的解决方案最接近我想要的。但它用于通过“自己的”服务器同步两个客户端。有没有办法直接同步到像pool.ntp.org这样的ntp池?
【问题讨论】:
-
Pinging 8.8.8.8 with 32 bytes of data: Reply from 8.8.8.8: bytes=32 time=68ms TTL=44 Ping statistics for 8.8.8.8: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 68ms, Maximum = 68ms, Average = 68ms你要如何获得低于 10 毫秒的时间? -
您可能对Sync JS time between multiple devices 感兴趣,它提供了许多解决方案。
-
@Bergi 这是关于同步,但不是 NTP
-
@starbolin 错误是最坏的情况只是往返时间的一半。好吧 10ms 是不可能的。我只想要最精确的值。
-
不,不确定性,没有时钟纪律,是最好情况下的单向时间和最坏情况下的单向时间之间的差异。有时,这可能超过平均往返时间。在尽力而为的网络 (TCP/IP) 中无法保证最坏情况的时间。
标签: javascript synchronization ntp