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

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

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

来自NSNetService class的文档:

此类和NSNetServiceBrowser类别使用多播DNS来
与您之间传递有关网络服务的信息
应用。

Bonjour domain names的文档

在Bonjour系统上,本地。用于表示应为
使用本地IP网络上的IP多播查询查找。

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

附言如果我什么都不缺,我打算与Apple联系,因为只有一个正确的值而所有其他不正确的参数(并且没有通过任何错误报告)很奇怪。

最佳答案

NSNetService适用于local.以外的其他域。

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

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

关于ios - NSNetService是否仅适用于.local域?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15011823/

10-12 00:23
查看更多