如何检查NSNetService是否已停止发布

时间:2013-05-08 19:28:05

标签: ios bonjour nsnetservice

我需要找到一种方法来观察我的应用何时停止通过bonjour发布服务。这通常发生在设备收到呼叫或某些此类中断时。

背景

我正在使用GCDAsyncSocket在同一网络中的2台设备之间进行通信,以播放播放音乐的应用程序(支持在后台播放)。

我使用NSNetService来广播其他应用程序(客户端)连接到服务器的IP和端口。

当服务器设备接到电话时,发布将停止,其他设备将无法看到此服务。

是否需要遵守一些特殊属性,以便我知道它何时停止并且我可以重新启动。

提前致谢

1 个答案:

答案 0 :(得分:1)

老问题,但我目前面临同样的问题。

据我所知,您可以执行以下操作:

您可以使用NSNetServiceBrowserNSNetServiceBrowserDelegate代表。

我假设你已经在使用NSNetServiceBrowser类了

[self.domainBrowser searchForServicesOfType:@"yourIdentifier" inDomain:@"local."];

您可以在浏览器实例上设置委托。

当NSNetService消失时,将调用委托方法- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didRemoveService:(NSNetService *)aNetService moreComing:(BOOL)moreComing

您可以实施此方法,并且需要操作。