2

OpenNetCF バージョン 2.3 を使用して、C#、Compact Framework 3.5、Windows Mobile 5 プロジェクトでワイヤレス信号強度を取得するのに苦労しています。このデバイスのネットワーク カバレッジは不安定になる可能性があるため、リクエストを送信する前にネットワーク アクセスの強度を評価することを目指しています。

グーグルで調べた後、2つの可能性のあるリードを見つけました。OpenNETCF 2.3 で非推奨としてマークされている now クラスを使用する Microsoft のサンプル プロジェクトと、クラスでプロパティAccessPointを使用するように指示するいくつかの提案。これは理論的には良いアイデアのように思えますが、このクラスを返すように見えるファクトリ メソッドは、代わりにプロパティを公開しないクラスを返します。 SignalStrengthWirelessNetworkingInterfaceOpenNETCF.Net.NetworkInformation.WirelessNetworkInterface.GetAllNetworkInterfaces()INetworkInterfaceSignalStrength

OpenNETCF 2.3 を使用してワイヤレス強度を評価できた人はいますか? このパッケージの正しい使い方を理解していませんか? または、誰かがこの問題の回避策を開発しましたか?

ガイダンスやヘルプは非常に役立ちます。

4

1 に答える 1

5

GetAllNetworkInterfaces()INetworkInterface同じデバイスに異なる具象型がある可能性があるため (そして非常に頻繁に)、インターフェイスの配列を返します。問題は、ワイヤレス NIC 用に返されたインスタンスの種類は何ですか? NetworkInterface、 、WirelessNetworkInterfaceまたは になります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");
}               
于 2011-11-22T14:04:38.643 に答える