2011-08-18 43 views
4

我正在努力解決GKSession問題。我有一個客戶端和服務器,和我的客戶試圖與GKSession connectToPeer方法不超時

[_gkSession connectToPeer:peerID withTimeout:10]; 

服務器連接如果服務器明確拒絕[_gkSession denyConnectionFromPeer:peerID]的連接,然後在客戶端的connectionWithPeerFailed:withError正確地觸發。

但是,如果服務器只是忽略連接或者還有其他一些問題,客戶端就會坐在那裏試圖連接,直到宇宙的熱死亡。暫停似乎沒有任何效果。

我無法看到文檔中的任何建議設置超時需要超過指定超時間隔的時間 - 而且所有客戶端的其他GKSession委託方法都正常工作。我在這裏錯過了很明顯的東西嗎

+0

我有同樣的問題,我有一個語音聊天服務,當我收到一個電話會話中斷,但超時被忽略....關於這個問題的一些消息? – zebra

回答

4

從我的經驗GKSession是非常錯誤。我不認爲蘋果正在修復這些錯誤。 我會做的是當你嘗試連接到另一方時啓動一個計時器 - 如果連接成功,取消計時器,超時時取消連接。 關心!