所以我被抛弃了一个非常破碎和过时的代码库。然而,我被问到只修复了两个设备之间发送消息时发生的延迟的错误。
该应用程序用于将音频流式传输到多个设备并一次播放所有设备。这个问题显然是在主持人发送"播放"消息并开始播放自己。此播放消息最多延迟3秒,因此客户端最终都不同步。
我试图发送CFAbsoluteTimeGetCurrent();对客户有价值,然后他们计算延迟,但设备时钟非常不可靠,我经常得到负面的时间差异,尽管显然是积极的。
关于我如何打击这个的任何想法?在完全改变方法的建议之前,还有很长的时间
答案 0 :(得分:0)
您是否考虑过发送SYN
消息以及本地时间戳,然后将每个时间戳作为ACK
消息返回?您可以将当前时间和返回时间之间的差异减去一半,以获得延迟。
来源:我这样做了。