1

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

背景:

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

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

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

我需要观察一些特定的属性,以便我知道它何时停止并且我可以再次重新启动。

提前致谢

4

1 回答 1

1

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

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

您可以使用NSNetServiceBrowserNSNetServiceBrowserDelegate委托。

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

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

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

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

你可以实现这个方法,做你需要的操作。

于 2015-04-23T14:47:24.903 回答