我对 GKSessions 有以下问题:
有时在客户端/服务器应用程序中发送数据时会有很大的延迟(3-4 秒有时长达 10 秒)。
如果服务器在延迟期间发送了 10 个数据包,那么客户端会同时收到这 10 个数据包。奇怪的是,服务器在延迟期间仍然接收来自客户端的数据包。
这种延迟在 WiFi 网络中似乎更严重,但在蓝牙网络中也会发生。
有没有其他人在使用 gamekit 时遇到过这样的延迟峰值?
这个问题的根源可能是什么?
Best Answer-推荐答案 strong>
我一直在使用 gamekit 和 gksession。我总是使用 Peer2Peer 模式,尽管有些人不鼓励它。我从来没有遇到过像你描述的那样的延迟。
您使用 GKSendDataReliable 还是 GKSendDataUnreliable 发送?尝试切换到另一个,看看它是否改变了任何东西。如果您使用的是 GKSendDataReliable,那么发送设备将在发送下一条消息之前等待来自接收方的“已接收”消息。这可能是问题所在。
在您的测试设备上:是否有任何运行可能会淹没网络?
我正在测试基于多人游戏套件的游戏,如果我有多个事件设备,那么突然间有些设备会完全停止,我需要硬重启(完全关闭并重新启动)它们才能再次工作。
如果您一直遇到麻烦,您可能想尝试更底层的 api:dns-sd https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/dns_discovery_api/Introduction.html
希望你能成功,祝你好运!
关于ios - Gamekit 延迟,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8520069/
|