无需 Bonjour 即可发现 iOS 设备

问题描述 投票:0回答:2

我正在创建一个应用程序,需要连接到在 wifi 网络上的其他设备上运行的自身版本。目标是在一台设备与其他设备之间建立广播/客户端关系。

我知道 Bonjour 是公认的执行此操作的方法,但我不愿意这样做,因为当我想扩展到其他设备(至少对于客户)时,它会将我锁定在 iOS 设备上。

如果我在广播公司的特定端口(例如 43231 等)上启动网络服务器,客户端设备获取自己的 IP 然后扫描广播公司的块范围是否可以接受?使用这样的请求 ping 网络上的所有其他随机设备有什么不好吗?

如图所示,广播公司是 192.168.1.11。客户端是192.168.1.4。如果客户端假设所有设备都在 192.168.1.* 块中,它是否可以从 1-100 左右迭代该行来查找广播器?

如果这个方法很疯狂,我该怎么办?

ios security networking wifi device-discovery
2个回答
2
投票

您可以使用SSDP(由UPnP使用)或只是通过网络多播消息并同时侦听它,忽略环回(如果您不希望发送者接收它自己的消息) ).


2
投票

也许使用低功耗蓝牙进行广播/发现会更好?您可以在服务器上发送不可连接的广告数据包(及其 IP 地址)并在所有其他设备上侦听它们。设备找到这样的数据包,读取 IP 地址并通过 NSURLConnection (或类似的东西)连接到它。

© www.soinside.com 2019 - 2024. All rights reserved.