geting wifi信号水平在c#
我正在尝试连续读取wifi信号,以了解嵌入式系统的wifi信号电平如何变化。 我读过几篇关于如何在C#中读取wifi信号电平的文章,例如:
多久查询一下wifi信号强度?
但是当我想要做同样的事情时,我总是获得相同的价值。 我的代码如下(简化版):
static void Main(string[] args)
{
string selectedSSDID = "BTWiFi";
var client = new WlanClient();
for (int i = 0; i < 1000; i++)
{
foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)
{
Wlan.WlanBssEntry[] wlanBssEntries = wlanIface.GetNetworkBssList();
foreach (Wlan.WlanBssEntry network in wlanBssEntries)
{
var networkSSID = Encoding.ASCII.GetString(network.dot11Ssid.SSID, 0, (int)network.dot11Ssid.SSIDLength);
if (selectedSSDID == networkSSID)
{
Console.Out.WriteLine(network.rssi);
}
}
}
System.Threading.Thread.Sleep(1000);
}
}
当我运行这段代码时,我会看到信号电平总是被报告为一个值,并且不会改变。
我用它来对付一个带wifi的嵌入式系统,甚至当我将设备放在PC旁时,以及当我移动到离电脑很远的另一个房间时,如果应用程序运行,它总是报告相同的值,如果我重新启动应用该值的变化。
这段代码有什么问题,它没有报告正确的值?
链接地址: http://www.djcxy.com/p/84971.html上一篇: geting wifi signal level in c#
下一篇: how can I send raw packets over wifi without a network?