0

我需要在一台或多台 Windows 计算机和一台 Linux 计算机上记录精确同步的时间戳。所有计算机都通过一个路由器连接。

精确时间协议(PTP,IEEE 1588)用于同步不同 PC 的时间,因为它的精度应小于 1 毫秒。Linux是PTP的宗师,Windows是PTP的客户端。

w32tm \query \status \verbose

在 Windows 的 Powershell 中输入上述命令,确认 Phase Offset 小于 0.1 ms。我制作的应用程序(通过使用C)测量每台PC每次通信时的时间戳,但时间同步似乎很差。

这里有两个问题。

  1. 在每台PC上使用wireshark记录时间戳时,时间偏移超过1毫秒。
  2. 应用程序创建的时间戳与wireshark 的相差数百毫秒。应用程序使用的时间函数是 Windows 的 GetLocalTime() 和 Linux 的 gettimeoffday()。

总而言之,不同计算机上的时钟使用 PTP 同步,但时间戳似乎没有同步。我想让你告诉我是否有精确的时间戳记录方法,或者有什么我可以错过的。

如果您需要任何信息,请告诉我更多信息。

4

0 回答 0