【发布时间】:2010-12-07 22:04:14
【问题描述】:
查找所有域不是问题,但我找不到在网络上查找任何服务的正确方法。
【问题讨论】:
标签: iphone cocoa cocoa-touch macos bonjour
查找所有域不是问题,但我找不到在网络上查找任何服务的正确方法。
【问题讨论】:
标签: iphone cocoa cocoa-touch macos bonjour
据我所知,没有搜索所有可用服务的功能。原因可能是因为发布服务的应用程序可以定义自己的服务类型。
如果您只寻找常见类型的服务(HTTP、打印机等),您可以轻松地创建一个循环来调用 -[instanceOfNSNetServiceBrowser searchForServicesOfType:inDomain:],并在您之前发现的所有域中使用您想要的所有类型。
developer docs guide section on setting up a NSNetService 也可以提供帮助。
【讨论】:
旧线程但有一种方法可以找到本地服务Discovering all advertised Bonjour service types。您将需要对结果进行一些操作以获取正确格式的类型。这适用于 Mac 和 iPhone,但如果我在 iPhone 上没有 Wifi 连接,则不会发现任何服务。
NSNetServiceBrowser* domainBrowser = [[NSNetServiceBrowser alloc] init];
domainBrowser.delegate = self;
[domainBrowser searchForServicesOfType:@"_services._dns-sd._udp."
inDomain:@"local."];
【讨论】: