【问题标题】:How would one go about to measure differences in clock time on two different devices?如何测量两种不同设备上时钟时间的差异?
【发布时间】:2012-06-24 21:56:02
【问题描述】:

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

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

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

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

我假设在许多现实世界中,此类时间问题很重要,因此应该已经有了解决方案。有人知道吗?将响应时间简单地除以 2 就足够了吗?

谢谢!

【问题讨论】:

    标签: timer timestamp sync latency


    【解决方案1】:

    请前往RFC 5905 了解 NTPv4,并向那些真正解决这个问题以及如何解决问题的人学习。

    或者您只需确保 NTP 在您的服务器上正常工作,这样您就不会遇到这个问题。

    【讨论】:

    • 感谢您的提示!我去看看!
    猜你喜欢
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多