我制作了一个简单的游戏,它使用来自 GameKit 的 GKSession 连接到其他对等方。它很容易设置,但我发现了一些问题:
延迟变化很大。有时消息会立即到达其他设备。有时,向其他对等方发送数据的延迟大于 1 秒。数据只是一个包含 10 个字符的字符串。
我的游戏依赖于精确的时钟同步。游戏有音乐播放,当它没有在所有连接的设备上同时开始播放时听起来很奇怪。
我在文档中找不到有关如何同步计时的任何内容。问题是开始游戏的“主”码头立即开始播放音乐,然后所有其他码头稍后收到消息,因此延迟后开始播放。
然后我尝试在向所有码头发送开始消息后延迟播放游戏音乐,但有时延迟更低或更高,我无法获得良好的可靠同步。
是否有一个开源框架可以让点对点和时钟同步在 iOS 上更可靠、更容易使用?