Laden...

Tatsächliche Übertragungsrate LAN-Verbindung

Erstellt von werner_bayern vor 8 Jahren Letzter Beitrag vor 8 Jahren 2.415 Views
W
werner_bayern Themenstarter:in
9 Beiträge seit 2015
vor 8 Jahren
Tatsächliche Übertragungsrate LAN-Verbindung

Servus,

bin blutiger C# Anfänger, programmiere aber schon 25 Jahre in Xbase++ - kennt hier sicher keiner. 😉

Was ich nicht hinbekomme: Wie kann ich die **tatsächliche **Übertragungsrate einer LAN-Verbindung feststellen, so wie das die Status-Meldung in Windows anzeigt (siehe Anhang).

So funktioniert es nicht, ich bekomme damit immer nur die **eingestellte **Geschwindigkeit, nicht das, was als Status der LAN-Verbindung angezeigt wird:

using System;
using System.Net.NetworkInformation;

namespace Werner
{
    class Program
    {
        static void Main(string[] args)
        {
            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface karte in adapters)
            {
                IPInterfaceProperties properties = karte.GetIPProperties();
                IPInterfaceStatistics stats = karte.GetIPStatistics();
                                
                {
                    Console.WriteLine(karte.Description);
                    Console.WriteLine("     Geschwindigkeit MB/Sek.................: {0}",
                        karte.Speed / 1000000);
                    Console.WriteLine("     Pakete in der Ausgabewarteschlange ....: {0}",
                        stats.OutputQueueLength);
                    Console.WriteLine("     gesendete MB    .......................: {0}",
                                   stats.BytesSent / 1024 / 1024);
                    Console.WriteLine("     empfangene MB..........................: {0}",
                                   stats.BytesReceived / 1024 / 1024);
                    Console.WriteLine("     Netzwerk-InterfaceTyp..................: {0}",
                                  karte.NetworkInterfaceType);
                }
            }
            Console.ReadKey();
        }
    }
}

Danke!

Servus,

Werner

3.003 Beiträge seit 2006
vor 8 Jahren

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

W
werner_bayern Themenstarter:in
9 Beiträge seit 2015
vor 8 Jahren

Servus LaTino,

danke. Aber das ist nicht das, was ich suche. Wenn ich das richtig verstehe, wird hier eine Up- und Download-Statistik errechnet, was gerade auf dem Interface los ist.

Ich suche aber die aktuelle, grundsätzliche Übertragungsrate der Netzwerkkarte, was leider nicht dem Wert Speed aus dem Objekt GetIPStatistics entspricht. Nicht die aktuelle Geschwindigkeit, die ja ständig wechselt, von 0 auf max, sondern so wie das bei Windows Status der LAN-Verbindung angezeigt ist (siehe meine gelbe Markierung).

Z. b. muss diese auf 0 gehen, wenn das Patchkabel des PCs ausgesteckt wird. Oder von 1000 auf 100, wenn das am Switch so eingestellt ist, obwohl der Treiber der Netzwerkkarte 1000 zurückmeldet.
Bei WLAN-Verbindungen muss der Wert kommen, wie bei Status der WLAN-Verbindung - Übertragungsrate aus Windows.

Servus,

Werner

3.003 Beiträge seit 2006
vor 8 Jahren

Uh, ich bin nicht sicher, dass das technisch machbar ist. Nach meinem Verständnis, das unvollständig sein kann, "weiß" jedes Netzwerkgerät nichts von der Infrastruktur, auf der es sich bewegt, bevor es sich nicht auf ihr bewegt.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

T
2.224 Beiträge seit 2008
vor 8 Jahren

Wenn du wissen willst, wie die Geschwindigkeit der Netzwerkkarte ist:
NetworkInterface.Speed Property

Das exakte ermitteln der Übertragungsrate ist so eine Sache.
Da müsstest du einen Benchmark schreiben, der dir dann zeigt wie gut die Übertragungsrate ist.
Aber wenn ich die richtig verstehe, sollte die obere Lösung schon passen.
Den die Anzeige oben ist eigentlich nur die Information der Netzwerkkarte wie hoch die Übertragungsrate ist.

Nachtrag:
Wenn du wissen willst, wie die aktuelle Geschwindigkeit ist, dann musst du es in wohl oder übel messen lassen.
Die Informationen aus den Objekten werden nämlich nicht geupdatet.
Steht auch in der Doku drin.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

W
werner_bayern Themenstarter:in
9 Beiträge seit 2015
vor 8 Jahren

Servus,

nein, das ist es nicht, das hatte ich ja schon in der Eingangsnachricht so drin.

Servus,

Werner

T
2.224 Beiträge seit 2008
vor 8 Jahren

Was hast du dann vor?
Wenn du es genau messen willst, musst du dir einen Test schreiben.
Aber das Thema ist jetzt schon fast 6 Monate her.
Also ist die Frage, was hat sich hier von deiner Seite her getan oder hat sich hier nichts mehr getan?

Aber soweit ich dies sehe, ist die Speed Property genau das was du suchst.
Den die Übertragungsrate, die dir dort angezeigt wird, wird auch nur von der Netzwerkkarte gemeldet.
Und keinen anderen Wert bekommst du aus der Speed Property.

Nachtrag:
Die tatsächliche Geschwindigkeit ist für mich übrigens die Übertragungsrate zwischen 2 Rechnern, nicht die mmögliche Übertragungsrate der Netzwerkkarte.
Entsprechend musst du dich entweder klarer ausdrücken oder einfach besser informieren, was du genau willst.
Den mehr als die Infos, die du hier bekommen hast, kann dir kaum einer liefern.
Ansonsten musst du dich mit Google begnügen.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.