windows - Måling af netværkstrafik i C #

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg synes, at min ansøgning er i stand til at overvåge, hvor meget data (jeg behøver ikke de faktiske pakker, kun mængden af ​​bytes), der går ud af computeren (på en enkelt grænseflade) til enhver tid og også over tid. Med andre ord; Jeg vil gerne kunne vise et nummer, der viser aktuelle op og ned hastighed (for eksempel 5kB/s) samt en graf i løbet af de sidste 5 minutter, og endelig vil jeg også kunne vise en korrekt mængde data, der har gået ud/i grænsefladen i den sidste time.


Er dette muligt på en enkel måde? Jeg har ikke noget imod at bruge tredjepartsforsamlinger, eller at skulle skrive min egen wrapper omkring nogle win32 api, men de nævnte tredjepartsforsamlinger skal kunne bruges med open source-applikationer og må ikke koste penge.

Bedste reference


Faktisk kan du nemt få al netværkstrafik ved hjælp af ydelsestællere, men jeg ved ikke nogen måde at måle netværkstrafik i din ansøgning end at åbne hver pakke og læse den. For at måle al netværkstrafik henvises til følgende: netværkstrafik i c # [1]

Andre referencer 1


Noget som DUMeter?


Se her
. [2]

Andre referencer 2


Du kan måske se præstationsdisker.


Screen shot from perfmon


På de fleste af disse netværkstællere kan du vælge den netværksgrænseflade, der skal overvåges. Du kan også gøre det samme i .Net-kode.


Her er en CodeProject-artikel, der indeholder en formularapp, der grundlæggende gør hvad du er efter: http://www.codeproject.com/Articles/6259/Monitoring-network-speed[3]