Определение скорости соединения с сетью - PullRequest
4 голосов
/ 11 мая 2009

Как программно определить скорость соединения с сетевым соединением для активного сетевого соединения - как диспетчер задач показывает на вкладке «Сеть»? Я на самом деле не за доступную пропускную способность, просто цифра для текущего соединения, например 54 Мбит / с, 100 Мбит / с и т. Д.

Ответы [ 3 ]

2 голосов
/ 14 мая 2009

В конце концов я нашел класс WMI Win32_PerfRawData_Tcpip_NetworkInterface, так как мне нужно поддерживать устаревшие платформы, чего, к сожалению, Win32_NetworkAdapter нет. У Win32_PerfRawData_Tcpip_NetworkInterface есть свойство CurrentBandwidth, которое дает мне то, что мне нужно на всех требуемых платформах (я понимаю, что сказал, что мне не нужна «пропускная способность», но она приемлема и, по-видимому, в любом случае возвращает «номинальную пропускную способность» адаптера).

Спасибо всем, кто написал, указав мне правильное направление.

2 голосов
/ 11 мая 2009

Win32_NetworkAdapter Класс WMI может помочь вам (Speed свойство). Возвращает значение 54000000 для моего адаптера WiFi, подключенного к точке доступа WiFi-g.

0 голосов
/ 12 мая 2009

.NET способ узнать скорость адаптера

IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
if ( nics != null )
    for (int i = 0; i < nics.Length; i++)
        Console.WriteLine("Adapter '{0}' speed : {1}", nics[i].Name, nics[i].Speed);

Некоторые адаптеры являются туннелями, поэтому их скорость будет возвращаться как 0. Прочитайте NetworkInterface документацию по MSDN для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...