android - Apple 的 Bonjour 协议(protocol)是否适用于蜂窝连接?

标签 android ios bluetooth nfc bonjour

下面是问题:

  1. Apple 的 Bonjour 甚至可以通过蜂窝网络(3G、4G、LTE)工作吗?
  2. 如果是,发现的本地化程度如何?在同一个手机信号塔中发现所有内容?同一供应商?整个互联网?

此外,作为一个小的旁注,Android 上是否有任何 Bonjour 支持(库、操作系统等)。

注意:我真的在寻找一种进行本地发现的方法,但 iOS 没有可以与某些机器人一起使用的公共(public)蓝牙 API(如果我错了,请纠正我,我真的希望我错了) .我还通过蓝牙阅读了 Bonjour,但我找不到任何相关资源。另外,NFC 是一种选择吗?

最佳答案

回答你的前两个问题:

  1. 没有;理论上,同一子网上的其他订户可以看到彼此的服务,但 AFAIK 没有规定通过蜂窝网络发送多播数据包。即使有,网络提供商也可能会对其进行过滤以减少带宽使用。

  2. 假设路由器不过滤多播数据包,Bonjour 服务通常对同一链路本地网络(即同一子网)上的任何其他设备可见。大多数国内路由器中继它们,但一些大 [例如。大学和企业] 网络放弃它们,再次减少对带宽的需求。

您可以使用 jMDNS用 Android 做 Bonjour 服务广告/发现,它已经很成熟了(或者你甚至可以 roll your own ,这并不难 :)

至于蓝牙和NFC,我不确定;听起来您需要为您宣传/消费的任何服务管理一些单点注册/协调。

关于android - Apple 的 Bonjour 协议(protocol)是否适用于蜂窝连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12770388/

相关文章:

android - 如何从 ListView 中跳过一个 View ?

java - Android - 视频文件加密/解密会影响其质量吗?

java - 从PlaylistID Youtube获得视频ID?

ios - Objective-C 中 FOR 循环的奇怪行为

ios - React Native - 从 fetch() JSON 渲染多个元素?

c - 用于蓝牙传输的 Ruby 字符数组到字节数组(十六进制字符)

java - 使用 FFMPEG 连接两个视频文件时出现问题

ios - 在 Swift 4 中滚动 UITableView 时如何更新 UISlider 值

java - 将字节从一个数组复制到另一个数组而无需在 Java 中进行迭代

android - 获取连接设备地址蓝牙