2011-07-01 95 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:]之前调用[服务停止]