【问题标题】:How to detect if iOS devices are using the same network?如何检测 iOS 设备是否使用同一网络?
【发布时间】:2011-07-29 18:54:17
【问题描述】:
我想在 Mac 应用程序中检测当前在给定时刻同一网络(Wifi 或 LAN)上是否存在 iPhone / iPod Touch 设备。
我的第一次尝试是使用 bonjour 进行某种自动发现,但据我所知,bonjour 必须在 iOS 设备上作为服务器运行。这不适合我,因为我需要在没有运行某个应用程序的情况下对 iOS 设备进行某种通用网络检测。
分享
【问题讨论】:
标签:
ios
cocoa
macos
networking
【解决方案1】:
您可以尝试几种方法,但我确信它们可能会引发误报。
如果在 Wifi 上,您可以比较接入点的 BSSID,这可以让您知道它们是否都连接到同一个接入点。
或者您可以对 IP 地址和网络掩码进行一些操作,这将告诉您子网地址,以及该子网上有多少 IP 地址,如果子网匹配并且两个 IP 地址都在子网范围内,那么很可能他们都在同一个网络上。
很抱歉,我没有更具体的解决方案,但也许这会帮助你取得进展。
【解决方案2】:
iain 的回答描述了您需要做什么,但我认为您的想法有缺陷。如果不运行一些代码来响应 Mac,Mac 应用程序无法检测同一网络上的其他设备是 iOS 设备还是其他计算机。
换句话说,作为网络一部分的 iOS 设备不会提供任何基于流量的指纹来显示它们是什么类型的设备。