【问题标题】:How to check if NSNetService has stopped publishing如何检查 NSNetService 是否已停止发布
【发布时间】:2013-05-08 19:28:05
【问题描述】:

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

背景:

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

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

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

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

提前致谢

【问题讨论】:

    标签: ios bonjour nsnetservice


    【解决方案1】:

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

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

    您可以使用NSNetServiceBrowserNSNetServiceBrowserDelegate 委托。

    我假设您已经在使用 NSNetServiceBrowser 类,与

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

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

    代理方法- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didRemoveService:(NSNetService *)aNetService moreComing:(BOOL)moreComing 将在 NSNetService 消失时被调用。

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

    【讨论】:

      猜你喜欢
      • 2015-11-25
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多