2011-07-01 74 views
3

我正在iPhone上創建一個通過Wi-Fi播放的棋盤遊戲。解決NSNetService錯誤

當設備A邀請設備B播放(嘗試解析由B發佈的NSNetService)時,設備B可以接受或拒絕。

如果B拒絕,通知A並且一切正常。但是,如果A嘗試稍後再次邀請B,我會在我的netService:didNotResolve:委託方法中得到以下錯誤。

NSNetServicesErrorCode = -72003 NSNetServicesErrorDomain = 10

錯誤-72003意味着NSNetServicesActivityInProgress ...我怎樣才能繼續讓一名球員 「邀請」 其他球員不止一次?

我使用的是AsynchSocket libray,謝謝!

+0

發佈一些代碼來說明目前你在做什麼 –

+0

當瀏覽器找到一個新的服務,我將它添加到陣列,並調用[服務resolveWithTimeout :]。當調用netServiceDidResolveAddress:時,我使用[self.socket connectToAddress:error:]將套接字連接到這個新服務...當用戶觸摸我的tableView的一行時,我從數組中獲取服務並再次調用[self。 socket connectToAddress:error:] ...它現在可以工作,但我認爲我只有在用戶請求時纔會連接...我是對的嗎? – Fernando

回答

2

好的,我知道了。

我在做什麼是儘可能快地在browserDidFind:delegate方法中解析NSNetService。當需要連接時,我調用[socket connectToAddress:],傳遞NSNetService地址,不再有錯誤!

謝謝!

1

[服務resolveWithTimeout:]之前調用[服務停止]