Hallo,
ich wollte mir gerade kurz einen Trafficlogger schreiben. Unter anderem mache ich das so:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); label1.Text = Convert.ToString(nics.Length); foreach (NetworkInterface netint in nics) { if (netint.NetworkInterfaceType == NetworkInterfaceType.Ethernet) { listBox1.Items.Add(netint.Name + netint.Id + netint.Speed); IPv4InterfaceStatistics intstat = netint.GetIPv4Statistics(); listBox2.Items.Add(netint.Name + " - " + Convert.ToString(intstat.BytesReceived)); long s = intstat.BytesReceived - intstat.NonUnicastPacketsReceived; listBox2.Items.Add(netint.Name + " - " + Convert.ToString(s)); } }; |
Das ganze habe ich an einen Timer gehangen, der das ganze aktualisiert. Nun gibt es in der Netzwerkübersicht von Windows auch die Möglichkeit, sich die Empfangenen Pakete anzuschauen. Das habe ich getan und musste feststellen, dass die .NET Routine (trotz meiner Subtraktion bei
long s) schlappe 10.000.000 Bytes über der von Windows liegt
Hat da jemand eine Idee, was ich falsch mache? Eigentlich müsste doch der gleiche Traffic herauskommen
Grüße
Regan