2012-01-03 83 views
1

我正在使用NSNetService使用Bonjour进行广播。但是当我想停止它时,我使用[netService stop],其中netService是我的NSNetService。它只是不停止,它被调用,但不停止。 netServiceDidStop没有被调用,所以我想我无法阻止它。顺便说一下,这个项目使用自动引用计数(ARC),我怀疑是这个问题的原因。什么是wromg?NSNetService的“停止”方法不起作用

回答

0

你知道吗?我看到同样的事情。但SimpleNetworking的示例代码没有显示这一点。就我而言,我只是测试发布和停止Bonjour产品。我还没有打开任何流,这可能是问题出现的地方。更完整地说,我在我的Mac上运行BonjourBrowser.app,当我在iOS设备上启动我的NSNetService时,Bonjour注册显示在BonjourBrowser中。当我停止NSNetService并将它从运行循环中移除时,即使在使用该应用程序的“重新加载服务”按钮后,BonjourBrowser仍会显示注册。相比之下,只要您停止服务器服务,SimpleNetworking就会从BonjourBrowser中消失。而且,有趣的是,SimpleNetworking不会从运行循环中移除服务(至少不是明确的)。

我怀疑我的TimeCapsule在做Bonjour睡眠代理,但我重新启动了它,BonjourBrowser从未显示我的服务消失。