我正在使用Mac的CoreWLan框架从接入点读取RSSI值。
我可以用两种不同的方法:
使用接口(连接到我的网络)
currentInterface = [CWInterface interface];
[currentInterface rssivalue];使用网络:
currentInterface = [CWInterface interface];
networks = [[currentInterface scanForNetworksWithName:@"mySSID" error:nil] allObjects];
[networks[0] rssiValue];但是,这两种方法(由于接口连接到网络,应该给出相同的值)似乎产生了不同的结果。后一种方法似乎始终给出比界面方法更强的3-5 dB的值。
对于为什么会出现这种差异,有什么想法吗?哪一个更“合法”?
发布于 2013-05-29 13:50:15
当前接口(第一种情况)的rssiValue属性为您提供聚合 rssi。而扫描结果的rssiValue (第二种情况)给出了扫描时刻的RSSI值。这就是为什么通常第一个比第二个少的原因。但有时,由于某些干扰,您可以在扫描结果上看到非常低的RSSI值。
还有另一件事:可能有几个接入点具有相同的ssid,在这种情况下,您不能确定网络将是当前连接的接入点的结果。您应该先检查BSSID值。
https://stackoverflow.com/questions/16805742
复制相似问题