iOS,获取可用 Bonjour 服务的"快照"



对于我的iOS应用程序,我想在启动时检查是否有使用Bonjour的特定服务广告,如果有,连接到该主机(而不是指定的URL)。

我已经在我的代码中实现了:

if (self.services) {
    [self.services removeAllObjects];
} else {
    self.services = [[NSMutableArray alloc] init];
    self.serviceBrowser = [[NSNetServiceBrowser alloc] init];
    [self.serviceBrowser setDelegate:self];
    [self.serviceBrowser searchForServicesOfType:@"_myapp1._tcp." inDomain:@""];
}

如果找到服务,则调用didFindService,并通过NSNotificationCenter获得结果服务主机名和端口,并照常进行。

如果没有找到服务,我的应用程序停留在那里…等待……(我知道这是预料之中的)。

是否有办法说,例如5秒后'abort'?不知何故,我需要调用[self.serviceBrowser stop],但我没有看到这样的选项。我怎样才能做到这一点呢?

您需要使用NSTimer之类的东西滚动您自己的超时

相关内容

  • 没有找到相关文章