我有两台 iOS 设备使用 Bonjour API 成功找到对方,但由于它们同时发布和浏览,它们也看到自己出现在可用服务列表中。每个端点必须有一些信息可以用来确定服务是他们自己的服务并将其从他们的列表中排除......我确定我只是在某个地方错过了它 - 有什么想法吗?
我用过the examples from the docs有一些小的变化。
最佳答案
mDNS 不区分设备边界 - 默认情况下,链接本地网络上的每个 mDNS 解析器都会监听发送到 224.0.0.251
的所有多播数据包起源。把它想象成一个美化的短波 radio 。嗯,有点。
这意味着当您浏览服务时,NSNetServiceBrowser 不会区分主机(有时我发现这是服务器端应用程序中的一个有用功能)。
我建议忽略您自己的服务的最简单方法是检查 netServiceBrowser:didFindService:moreComing 中返回的
在做任何你需要用它做的事情之前回调不是你的。NSNetService
对象的 hostname
:
关于ios - 苹果卓悦 : how can I tell which published service is my own?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723801/