我正在努力解决 GKSession 问题。我有一个客户端和服务器,我的客户端尝试与服务器连接
[_gkSession connectToPeer:peerID withTimeout:10];
如果服务器明确拒绝与[_gkSession denyConnectionFromPeer:peerID]
的连接然后客户的connectionWithPeerFailed:withError
被正确触发。
但是,如果服务器只是忽略连接或存在其他问题,客户端将坐在那里尝试连接,直到宇宙热寂。超时似乎没有任何影响。
我在文档中看不到任何建议设置超时需要的不仅仅是指定超时间隔 - 以及所有客户端的其他 GKSession
委托(delegate)方法工作正常。我在这里遗漏了一些明显的东西吗?
最佳答案
根据我的经验,GKSession 非常容易出错。而且我不认为苹果正在修复这些错误。 我要做的是在您尝试连接到另一方时启动一个计时器 - 如果连接成功,则取消计时器,当它超时时,取消连接。 问候!
关于objective-c - GKSession connectToPeer 方法不会超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7105443/