Freitag, 3. Dezember 2010

Status eines Netzwerkadapters überprüfen

Im vorigen Post wurde gezeigt, wie man prüfen kann, ob der Computer mit einem Netzwerk verbunden ist, ob also ein beliebiger Netzwerkadapter eine Verbindung hat.
In diesem Post untersuchen wir den Status von nur einer Netzwerkschnittstelle, und das etwas genauer. Wir möchten nun nicht mehr nur zwischen "verbunden" und "nicht verbunden" unterscheiden, sondern mehr Informationen erhalten.
Wir benutzen wieder die Klasse System.Net.NetworkInformation, fragen aber dieses Mal die Eigenschaft OperationalStatus ab.
Diese kann folgende Werte annehmen:
  • Dormant - Die Schnittstelle wartet auf ein externes Ereignis, sie kann keine Daten übertragen.
  • Down - Keine Verbindung.
  • LowerLayerDown - Die Schnittstelle kann keine Daten übertragen, da sie auf "tieferliegende" Schnittstellen zugreift und mindestens eine dieser nicht in Betrieb ist.
  • NotPresent - Nicht funktionsfähig, meistens wegen einem Hardwaredefekt.
  • Testing - Die Schnittstelle führt Tests aus.
  • Unknown - Unbekannter Status.
  • Up - Die Schnittstelle ist in Betrieb.

Ein kleines Beispiel, es listet alle Netzwerkverbindungen auf, die in Betrieb sind:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach (System.Net.NetworkInformation.NetworkInterface n in System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces())
            {
                if (n.OperationalStatus == System.Net.NetworkInformation.OperationalStatus.Up)
                    Console.WriteLine(n.Name + " ist Up.");
            }      
        }
    }
}

Keine Kommentare:

Kommentar veröffentlichen