停止方法调用后NSNetServices是否仍然存在?

时间:2011-08-04 22:48:36

标签: cocoa macos nsnetservice

我正在使用NSNetServices进行简单的bonjour广播。当我开始并停止在应用程序启动/退出时分享bonjour时,一切都运行良好。但是,如果我使用stop方法调用关闭bonjour,即使在调用netServiceDidStop:delegate消息后,我的应用程序仍然似乎正在广播死服务,这会阻止重新启动服务,直到重新启动应用程序。 Apple的文档使它看起来非常简单,只需根据需要发布或停止......我错过了什么?

1 个答案:

答案 0 :(得分:0)

有时似乎即使服务不再可用,也会显示服务。

来自Apple文档:

  

由于未能显示有效服务对用户来说比显示陈旧服务更大的问题,因此Bonjour故意错误地认为服务仍然可用。

     

     

     尽管Bonjour通常会在少数人中发现新服务   秒,如果服务消失,服务可能会消失   在您的应用尝试连接到它并获得否之前不会被发现   响应。

     

你不应该仅仅因为Bonjour API报告了一个   发现服务,保证服务时可用   软件试图访问它。

Connecting to and Monitoring Network Services: When resolving fails