【问题标题】:Is NSNetService only works with .local domain?NSNetService 是否仅适用于 .local 域?
【发布时间】:2013-02-21 20:43:02
【问题描述】:

我有一个代码CocoaHTTPServer,它使用 Bonjour 发布服务。并且 tt 为此使用 NSNetService。

如果您定义域“.local”,它可以正常工作(在 OS X 和 iOS 上)。但是,如果您定义其他任何内容,它不会发布服务,也不会调用未发布服务器的委托。

我对此进行了调查,发现了以下信息。

来自NSNetService class的文档:

这个类和 NSNetServiceBrowser 类使用多播 DNS 来 将有关网络服务的信息传送到您的 应用。

来自Bonjour domain names的文档

在 Bonjour 系统上,本地。用于表示应该是的名称 使用本地 IP 网络上的 IP 多播查询进行查找。

我是否正确理解 NSNetService 类只能与 .local 域一起使用,而不能与广域 bonjour(不同的域)一起使用?

附:如果我没有遗漏任何内容,我计划联系 Apple,因为只有一个正确值而其他所有值都不正确(并且没有通过任何错误报告)的参数很奇怪

【问题讨论】:

    标签: ios macos bonjour


    【解决方案1】:

    NSNetService 可用于local. 以外的域。

    在发布您的服务之前,请使用NSNetServiceBrowser- (void)searchForRegistrationDomains 查找合适的注册域。

    Apple 的 NSNetServices 和 CFNetServices 编程指南包含关于此的部分,包括示例代码:Browsing for Domains

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 2011-05-18
    • 2016-07-16
    相关资源
    最近更新 更多