Timer 如何测量两个不同设备上时钟时间的差异?

Timer 如何测量两个不同设备上时钟时间的差异?,timer,timestamp,sync,latency,Timer,Timestamp,Sync,Latency,我目前正处于开发一款严重依赖时间戳的移动应用程序的早期阶段 主设备通过wifi连接到多个客户端设备,并向这些设备发出各种命令。当客户端设备接收到命令时,它们需要在执行命令时标记(相对)时间戳。 虽然所有这些都很简单,但我还没有想出一个解决方案来处理时钟差异。例如,主设备的时钟可能在12:01:01,而客户端A在12:01:02,客户端B在12:01:03。大多数情况下,我可以期望这些设备设置为类似的时间,因为它们通过NTP进行同步。然而,我的应用程序的性质要求ms精度,因此我希望避免出现差异 发

我目前正处于开发一款严重依赖时间戳的移动应用程序的早期阶段

主设备通过wifi连接到多个客户端设备,并向这些设备发出各种命令。当客户端设备接收到命令时,它们需要在执行命令时标记(相对)时间戳。 虽然所有这些都很简单,但我还没有想出一个解决方案来处理时钟差异。例如,主设备的时钟可能在12:01:01,而客户端A在12:01:02,客户端B在12:01:03。大多数情况下,我可以期望这些设备设置为类似的时间,因为它们通过NTP进行同步。然而,我的应用程序的性质要求ms精度,因此我希望避免出现差异

发出命令和执行命令之间的短暂延迟是可以的,但是执行该命令的时间戳不正确

到目前为止,我正在考虑让主设备ping每个客户端设备以确定事务时间,然后请求客户端发送其“本地”时间。在此基础上,我可以计算出主机和客户端之间的时差。一旦知道时差,客户机就可以相应地调整其时间戳。 不过,我对网络不是很熟悉,我怀疑ping设备并不是一种非常可靠的确定事务时间的方法,因为有很多因素适用,并且延迟可能会改变

我假设在许多现实世界中,这样的时间安排问题很重要,因此应该已经有了解决方案。有人知道吗?只需将响应时间除以二就足够了吗

谢谢

一个人前往NTPv4,向那些真正解决这个问题的人学习,以及如何解决这个问题


或者,您只需确保NTP在您的服务器上正常工作,就不会出现此问题。

谢谢您的提示!我去看看!