• 无线网络RSSI、SSID、BSSID


      获取无线网络,及无线网络的参数之前,我们先了解一下RSSI,SSID和BSSID分别是什么,当然你可以去百度或者维基百科查阅,我这里只是简单的说明一下。RSSI就是无线网络的信号强度,这个是和无线AP(如,路由器)的距离有关的一个参数。SSID就是无线AP的名称,即我们通常在我们手机或者笔记本中搜索到的无线网络名称,这个参数对于不同的无线AP可以是相同的,就当我们连接这个无线网络的时候就是无缝连接。但前提是无线AP必须的同类型的,否则不能进行无缝过渡或者网络漫游。BSSID类似于MAC地址一样,这个是唯一的,它能唯一的识别一个无线AP。

    在编程中如何获取这些参数呢?其实主要是使用的NativeWifi,当然还有其他的实现,这里实现方式就是使用的NativeWifi。下来我们看看在程序中是怎么获取的。

     1 foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)  
     2             {  
     3                 Wlan.WlanBssEntry[] bssworks = wlanIface.GetNetworkBssList();  
     4   
     5                 foreach (Wlan.WlanBssEntry bsswork in bssworks)  
     6                 {  
     7                     if (!lsApname.Contains(temp = ApMac(bsswork.dot11Bssid)))  
     8                     {  
     9                         continue;  
    10                     }  
    11                     lsDatainfo.Add(new dataInfo()  
    12                     {  
    13                         apname = temp,  
    14                         rssi = bsswork.rssi,  
    15                         apssid = GetStringForSSID(bsswork.dot11Ssid),  
    16                         time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")  
    17                     });  
    18                     tempApname.Add(temp);  
    19                 }  
    20             }  
    1 static string GetStringForSSID(Wlan.Dot11Ssid ssid)  
    2         {  
    3             return Encoding.ASCII.GetString(ssid.SSID, 0, (int)ssid.SSIDLength);  
    4         }  

    下面看看怎么获取BSSID参数值的函数:

     1 //获取无线AP的MAC地址  
     2         public string ApMac(byte[] macAddr)  
     3         {  
     4             string tMac = "";  
     5             for (int i = 0; i < macAddr.Length; i++)  
     6             {  
     7                 tMac += macAddr[i].ToString("x2").PadLeft(2, '0').ToUpper();  
     8             }  
     9             return tMac;  
    10         }  
  • 相关阅读:
    Css预编语言以及区别
    CSS完成视差滚动效果
    理解ASP.NET Core验证模型 Claim, ClaimsIdentity, ClaimsPrincipal
    EF Expression 扩展
    总结 jion,group join 基于方法的查询与查询表达式 对比
    EF 查询表达式 join
    EF中 GroupJoin 与 Join
    css中“~”和“>”是什么意思
    jquery基于form-data文件上传
    针对 easyui boolean 布尔值 的处理
  • 原文地址:https://www.cnblogs.com/prayer521/p/5888443.html
Copyright © 2020-2023  润新知