Обнаружение скорости сетевого соединения и использования полосы пропускания в C # - PullRequest
40 голосов
/ 19 февраля 2009

Есть ли способ определить скорость сети и использование полосы пропускания в C #? Даже указатели на компоненты с открытым исходным кодом приветствуются.

Ответы [ 2 ]

32 голосов
/ 19 февраля 2009

Попробуйте использовать классы System.Net.NetworkInformation. В частности, System.Net.NetworkInformation.IPv4InterfaceStatistics должны иметь некоторую информацию в соответствии с тем, что вы ищете.

В частности, вы можете проверить свойство bytesReceived, подождать заданный интервал, а затем снова проверить свойство bytesReceived, чтобы получить представление о том, сколько байт / секунду обрабатывает ваше соединение. Однако, чтобы получить правильное число, вы должны попытаться загрузить большой блок информации из данного источника и затем проверить; таким образом, вы должны «максимизировать» соединение при выполнении теста, что должно дать более полезные цифры.

8 голосов
/ 19 февраля 2009

Вы должны быть в состоянии рассчитать все, что вам нужно, из класса IPGlobalStatistics .

...