如何获得所有可用域名上所有已公布的bonjour服务列表?

时间:2009-10-19 06:44:39

标签: iphone cocoa cocoa-touch macos bonjour

查看所有域名不是问题,但我找不到在网络上查找任何服务的正确方法。

2 个答案:

答案 0 :(得分:20)

旧线程,但有一种方法可以找到本地服务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."];

答案 1 :(得分:4)

据我所知,没有一个功能可以搜索所有可用的服务。原因可能是因为发布服务的应用程序可以定义自己的服务类型。

如果您只是寻找常见类型的服务(HTTP,打印机等),您可以轻松创建一个循环,在您之前发现的所有域中调用-[instanceOfNSNetServiceBrowser searchForServicesOfType:inDomain:]所需的所有类型。

developer docs guide section on setting up a NSNetService也可以提供帮助。