当前位置:  开发笔记 > 编程语言 > 正文

了解bonjour服务的状态

如何解决《了解bonjour服务的状态》经验,为你挑选了0个好方法。

我正在使用NSNetService和NSNetServiceBrowser在网络上发布和扫描Bonjour服务.实施工作正常,服务在网络上找到,他们能够进行通信.我目前正在尝试理解框架的生命周期,这是我到目前为止所得到的:

// Scanning
netServiceBrowserWillSearch:
netServiceBrowser:didFindService:moreComing: // The device finds itself

// Advertising
netServiceWillPublish:
netServiceDidPublish:

如果我在启用适配器的服务时会发生这种情况.现在,我需要随时了解该服务是否在网络上进行广告宣传; 也就是说,如果其他设备能够找到它.所以我关闭了Wi-Fi适配器进行测试:

netServiceBrowser:didRemoveService:moreComing:
netServiceBrowser:didFindService:moreComing: // The device finds itself again, even after the adapter is turned off

然后我重新打开适配器:

netServiceBrowser:didRemoveService:moreComing:
netServiceBrowser:didFindService:moreComing: // Yet again

问题是打开或关闭适配器绝对没有区别,所以我找不到模式.有没有其他方法可以捕捉到这些事件?

编辑:它变得最糟糕.即使我启动两个适配器关闭的服务(飞行模式)netServiceDidPublish:仍然被调用.到目前为止,似乎netServiceDidNotPublish:仅在我尝试两次注册相同服务时才被调用.这对我来说非常直观; 也许服务已发布到适配器,但不是网络,因此这些回调非常容易引起误解.此时,我无法知道该服务是否在网络上可见.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有