代码之家  ›  专栏  ›  技术社区  ›  Farcaller

如何获取所有可用域上所有已公布的Bonjour服务的列表?

  •  11
  • Farcaller  · 技术社区  · 15 年前

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

    2 回复  |  直到 8 年前
        1
  •  20
  •   Ryan A. greg    8 年前

    旧线程,但有一种方法可以找到本地服务 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."];
    
        2
  •  4
  •   Quinn Taylor    15 年前

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

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

    这个 developer docs guide section on setting up a NSNetService 也可以起到帮助作用。