我在使用GKSessions时遇到了以下问题:在客户机/服务器应用程序中发送数据时,有时会有很大的延迟(3-4秒,有时高达10秒)。
如果服务器在延迟期间发送比方说10个包,那么这10个包在客户端一次都会被接收到。奇怪的是,在延迟期间,服务器仍然接收来自客户端的数据包。
这种延迟在WiFi网络中似乎更糟,但在蓝牙网络中也会发生。
有没有人在使用gamekit时遇到过这样的延迟峰值?这个问题的来源可能是什么?
发布于 2012-02-27 21:15:22
我一直在使用gamekit和gksession。我总是使用Peer2Peer模式,尽管有些人不鼓励我这样做。我从来没有经历过像你所描述的那样的延迟。
你用GKSendDataReliable还是GKSendDataUnreliable发送?试着切换到另一个,看看它是否改变了什么。如果您使用的是GKSendDataReliable,那么发送设备将在发送下一条消息之前等待来自接收方的“接收”消息。这可能是问题所在。
在您的测试设备上:是否正在运行可能会淹没网络的任何东西?
我正在测试一个基于多人游戏套件的游戏,如果我有几个活跃的设备,那么突然一些设备就会完全停机,我需要硬启动(完全关闭并重新启动)它们才能让它们再次工作。
如果你总是遇到麻烦,你可能想尝试一个更低级的https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/dns_discovery_api/Introduction.html:dns-sd
我希望你能让它工作,祝你好运!
https://stackoverflow.com/questions/8520069
复制相似问题