问题描述
这段代码,目的是调用WIFI无线网卡,扫描一个SSID为“1234567890”的WIFI热点,信号强度的变化情况,每秒钟更新一次。我明明移动了热点的位置,但是,每次扫描结果都一样。请教,有什么地方出错了?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading;usingNativeWifi;//NativeWifi:导入的dll库,这个库来源于http://managedwifi.codeplex.com/namespaceWifiCore{classProgram{staticvoidMain(string[]args){Stringstr;WlanClientclient=newWlanClient();while(true){foreach(WlanClient.WlanInterfacewlanIfaceinclient.Interfaces){Wlan.WlanBssEntry[]bssworks=wlanIface.GetNetworkBssList();foreach(Wlan.WlanBssEntrybssworkinbssworks){str=SsidToString(bsswork.dot11Ssid);if(str=="1234567890"){Console.WriteLine(str);Console.WriteLine(BitConverter.ToString(bsswork.dot11Bssid));Console.WriteLine(bsswork.rssi);Console.WriteLine();}}}Thread.Sleep(1000);}}privatestaticstringSsidToString(Wlan.Dot11Ssidssid){returnEncoding.ASCII.GetString(ssid.SSID,0,(int)ssid.SSIDLength);}}}
解决方案
解决方案二:
把无线路由关掉还有吗?第三方的库如果有问题比较麻烦,需要考虑到库的问题。
解决方案三:
楼主的问题解决了吗?我也碰到了这个问题,求帮助!还有就是rssi的值小于-50时的值需要校准
解决方案四:
使用wlanIface.scan()并且最好使用sancompelete的回调~