获得无线网络优势

Kle*_*lee 2 c# wireless compact-framework windows-mobile-5.0 opennetcf

我在使用OpenNetCF 2.3版的C#,Compact Framework 3.5,Windows Mobile 5项目中获得无线信号强度时遇到了困难.我的目标是在发送请求之前评估网络访问的强度,因为此设备的网络覆盖可能不完整.

在谷歌周围后,我找到了两个可能的线索.Microsoft的一个示例项目,它使用AccessPoint在OpenNETCF 2.3中标记为已弃用的now 类,以及一些建议SignalStrengthWirelessNetworkingInterface类上使用该属性的建议.这似乎是理论上的一个好主意但是工厂方法似乎应该返回此类OpenNETCF.Net.NetworkInformation.WirelessNetworkInterface.GetAllNetworkInterfaces()而不是返回INetworkInterface不暴露SignalStrength属性的类.

有没有人设法使用OpenNETCF 2.3评估无线强度?我不明白这个包的正确用法吗?或者有没有人为此问题制定了解决方案?

任何指导或帮助都非常有用.

cta*_*cke 5

GetAllNetworkInterfaces()返回一个INetworkInterface接口数组,因为您可能(并且经常会)在同一设备上具有不同的具体类型.问题是您为无线网卡获取的实例类型是什么?它将是a NetworkInterface,a WirelessNetworkInterface或a WirelessZeroConfigNetowrkInterface.您可以将接口版本转换为具体类型,然后获得信号强度,前提是它是一种公开该信息的类型.

foreach (var ni in NetworkInterface.GetAllNetworkInterfaces())
{
    var wzc = ni as WirelessZeroConfigNetworkInterface;
    if(wzc != null)
    {
        Debug.Writeline("WZC Signal: " + wzc.SignalStrength.Decibels);
        continue;
    }

    var wni = ni as WirelessNetworkInterface 
    if(wni != null)
    {
        Debug.Writeline("Wireless Signal: " + wni.SignalStrength.Decibels);
        continue;
    }

    Debug.Writeline("No signal info available");
}               
Run Code Online (Sandbox Code Playgroud)