.Net - Считать текущую пропускную способность сетевого интерфейса. - PullRequest
0 голосов
/ 30 июля 2009

Добрый вечер,

Кто-нибудь знает собственный / элегантный способ считывания доступных сетевых интерфейсов и их текущей скорости передачи (например, байт / сек) в .net?

Привет и спасибо, -Jörg

1 Ответ

0 голосов
/ 30 июля 2009

Вы можете получить эту информацию из WMI ...

// Reference System.Management
var mos = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter");
var nics = mos.Get();

foreach (var n in nics)
{
  Console.WriteLine("{0} {1}", n["Name"], n["Speed"]);
}

Список свойств в Win32_NetworkAdapter.

Если вам нужны данные в режиме реального времени (которые, я думаю, вы можете запрашивать), используйте вместо этого PerformanceCounter Они соответствуют счетчикам perfmon. Например ...

var counter = new PerformanceCounter("Network Interface", "Bytes Total/sec", 
                                      /* your net interface name here */);
Console.WriteLine(counter.RawValue);
...