我需要找到一种方法来观察我的应用何时停止通过 bonjour 发布服务。这通常发生在设备收到呼叫或某些此类中断时。
背景:
我正在使用 GCDAsyncSocket 在同一网络中的 2 台设备之间进行通信,以便播放音乐的应用程序(支持在后台播放)。
我使用 NSNetService 为其他应用程序(客户端)广播 IP 和端口以连接到服务器。
当服务器设备接到电话时,发布停止,其他设备将无法看到该服务。
我需要观察一些特定的属性,以便我知道它何时停止并且我可以再次重新启动。
提前致谢
我需要找到一种方法来观察我的应用何时停止通过 bonjour 发布服务。这通常发生在设备收到呼叫或某些此类中断时。
背景:
我正在使用 GCDAsyncSocket 在同一网络中的 2 台设备之间进行通信,以便播放音乐的应用程序(支持在后台播放)。
我使用 NSNetService 为其他应用程序(客户端)广播 IP 和端口以连接到服务器。
当服务器设备接到电话时,发布停止,其他设备将无法看到该服务。
我需要观察一些特定的属性,以便我知道它何时停止并且我可以再次重新启动。
提前致谢
较旧的问题,但我目前面临同样的问题。
据我所知,您可以执行以下操作:
您可以使用NSNetServiceBrowser
和NSNetServiceBrowserDelegate
委托。
我假设你已经在使用这个NSNetServiceBrowser
类了
[self.domainBrowser searchForServicesOfType:@"yourIdentifier" inDomain:@"local."];
您可以在浏览器实例上设置委托。
- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didRemoveService:(NSNetService *)aNetService moreComing:(BOOL)moreComing
当 NSNetService 消失时,将调用委托方法。
你可以实现这个方法,做你需要的操作。