3

我有两台计算机说 A 和 B。我需要确保它们彼此准确同步(在 ms 范围内)。一台计算机是基于 Windows 的,另一台是 Linux。它们通过以太网直接相互连接(一台计算机的电缆连接到另一台计算机)。我可以为它们中的每一个编写 C/C++ 代码。

我怎样才能使它们彼此同步y注意到Windows和Linux都不是实时系统,因此您不知道通过以太网发送的数据包被另一端接收需要多长时间,因此您无法补偿为了它。由于您需要毫秒的准确性,因此此延迟很重要。

有没有可以做到这一点的算法?

windows/Linux中是否有任何功能可以发送以确保当您通过以太网发送数据时,它会立即传递到另一端?

4

2 回答 2

4

在两台机器之间同步时钟并非易事。

一种已知的降低精度的方法是Marzullo 算法

于 2013-10-17T07:33:39.630 回答
0

有 3 种基本方法可以做到这一点,有些比其他方法更复杂,但都使用基于本地时钟偏移时序的基本规则。这 3 个是 RBS、TPSN 和 FTSP 通用规则关注每一层的任何延迟 同步方案有四个基本的数据包延迟组件:发送时间、访问时间、传播时间和接收时间,请参见http://www.cs。 wustl.edu/~jain/cse574-06/ftp/time_sync/index.html

于 2013-11-13T06:07:09.997 回答