0

我实现了 CFNetwork 框架,用于在本地网络中发送和接收消息(所有设备都连接到同一个网络)。我成功实现了这个功能,但我的问题是,如果我当时连接了更多的设备,比如 8 到 10,消息将会延迟,我想在接收器端获得延迟时间。我尝试了很多,但没有运气获得延迟时间。如果有人知道如何得到这个,请帮助我。

提前致谢。

4

1 回答 1

0

我首先获取一个 BSD 许可的 ntpd 实现并使用它来计算各种设备之间的时钟偏移。任意宣布其中一个时间为“真理”。

使用这种方案,发送设备可以在出站数据包中添加一个时间戳(针对其本地时钟偏移相对于“真值”进行调整),接收设备可以将另一端的时间戳与当前时间进行比较(再次调整其本地时钟偏移)。

AFAIK,没有更简单的方法是准确的。通常,延迟无关紧要,当它发生时,需要大量工作才能以任何真正的精度计算延迟。

于 2016-08-09T20:36:39.590 回答