我想在完全相同的时间(以毫秒为单位)在多个iOS设备上触发一个事件(例如播放音乐)
我的方法是保持套接字连接,向iOS设备发送时间戳(比当前时间晚10秒),并在该时间戳触发iOS设备上的事件。
问题是iOS设备可能相差1到2秒,这将导致去同步。甚至时间戳也指出了每个设备上的相同时间(AFAIK),它们不是毫秒敏感度。
有没有办法在多个设备上同时触发一个事件,或者应该遵循的方法?
发布于 2013-05-11 06:35:11
不要在互联网上发送数据。您不能假设连接延迟会足够低,以满足您的需求。请改用蓝牙。您可以使用GameKit、dns-sd或像HHServices这样的库。
选择将充当控制器的设备。苹果提供了使用GameKit执行此操作的示例代码,但想出自己的方法并不困难。当您想要触发该操作时,该控制器将通过蓝牙向其他设备发送一个数据包。
我怀疑你需要更低的延迟,但如果你这样做了,让控制器向每个连接的设备发送数据包,以确定每个连接的延迟,让它们将它们的时间戳发送到控制器,然后控制器应该能够为它们中的每一个计算同时发生的时间戳。
https://stackoverflow.com/questions/16489899
复制相似问题