如何判断 bonjour 服务是 Wi-Fi 还是蓝牙?
Posted
技术标签:
【中文标题】如何判断 bonjour 服务是 Wi-Fi 还是蓝牙?【英文标题】:How do I tell if a bonjour service is wi fi or bluetooth? 【发布时间】:2011-02-20 04:07:47 【问题描述】:我正在构建一个在两部 iPhone 之间发送信息的应用。该应用程序运行良好,但我遇到的一个问题是我无法判断 bonjour 是选择 wi-fi 还是蓝牙进行连接。我想让用户能够选择他们喜欢的。另外,有没有办法以编程方式判断设备的蓝牙是否开启?
【问题讨论】:
有类似的情况,但传输层不同。我的 NAS 可通过无线和有线 GB 以太网访问。 NAS 上的 samba 共享会在两个接口上公布。但 Bonjour 总是更喜欢速度较慢的无线链接。 【参考方案1】:没有办法告诉。
这只是那些奇怪的事情之一。
事实上,没有办法以编程方式选择 WiFi 或蓝牙。这很烦人,但确实如此。
通常,多设备游戏会向用户发出警告:
“请务必关闭蓝牙,以 确保您使用的是 WiFi 连接。”
情况就是这样。
【讨论】:
【参考方案2】:Bonjour 只是一个服务发现协议 - 它并不关心您拥有什么样的网络。它将通过混合网络(例如通过网桥和路由器)发现服务,因此尝试将通过 Bonjour 发现的服务映射到单一类型的传输层实际上是没有意义的。
【讨论】:
以上是关于如何判断 bonjour 服务是 Wi-Fi 还是蓝牙?的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 info-plist 上为 Bonjour 服务使用通配符吗
在其他平台上使用 iOS GameKit 的“Bluetooth Bonjour”