2011-08-18 60 views
4

我正在努力解决GKSession问题。我有一个客户端和服务器,和我的客户试图与GKSession connectToPeer方法不超时

[_gkSession connectToPeer:peerID withTimeout:10]; 

服务器连接如果服务器明确拒绝[_gkSession denyConnectionFromPeer:peerID]的连接,然后在客户端的connectionWithPeerFailed:withError正确地触发。

但是,如果服务器只是忽略连接或者还有其他一些问题,客户端就会坐在那里试图连接,直到宇宙的热死亡。暂停似乎没有任何效果。

我无法看到文档中的任何建议设置超时需要超过指定超时间隔的时间 - 而且所有客户端的其他GKSession委托方法都正常工作。我在这里错过了很明显的东西吗

+0

我有同样的问题,我有一个语音聊天服务,当我收到一个电话会话中断,但超时被忽略....关于这个问题的一些消息? – zebra

回答

4

从我的经验GKSession是非常错误。我不认为苹果正在修复这些错误。 我会做的是当你尝试连接到另一方时启动一个计时器 - 如果连接成功,取消计时器,超时时取消连接。 关心!