在多个iOS设备上同时触发事件

我想在同一时间在多个iOS设备上触发事件(例如播放音乐)(以毫秒为单位)

我的方法是保持套接字连接,并发送时间戳到iOS设备(从当前时间10秒后),并在该时间戳iOS设备上触发事件。

问题是iOS设备可能会有一个或两个不同的时间,这将导致一个desynchronize。 甚至时间戳也指出每个设备(AFAIK)的同一时间,他们不是在毫秒敏感性。

有没有办法在多台设备上同时触发一个事件,还是应该遵循的方法?

不要通过互联网发送数据。 您不能假定连接延迟将足够低以满足您的需求。 使用蓝牙来代替。 你可以使用GameKit,使用dns-sd,或使用像HHServices这样的库。

select一个将充当控制器的设备。 苹果提供示例代码来使用GameKit,但想到自己的方法并不难。 当你想触发这个动作的时候,这个控制器会通过蓝牙发送一个数据包给其他设备。

我怀疑你需要比这更低的延迟,但是如果你这样做的话,让控制器发送数据包到每个连接的设备,以确定每个连接的延迟,让他们发送他们的时间戳到控制器,然后控制器应该能够计算一个时间戳对于他们每一个将在同一时间发生。