Есть ли способ определить скорость сети и использование полосы пропускания в C #? Приветствуются даже указатели на компоненты с открытым исходным кодом.
Определение скорости сетевого подключения и использования полосы пропускания в C #
Ответы (3)
Попробуйте использовать классы System.Net.NetworkInformation. В частности, System.Net.NetworkInformation.IPv4InterfaceStatistics
должна иметь некоторую информацию. в соответствии с тем, что вы ищете.
В частности, вы можете проверить свойство bytesReceived
, подождать заданный интервал, а затем снова проверить свойство bytesReceived
, чтобы получить представление о том, сколько байтов в секунду обрабатывает ваше соединение. Однако, чтобы получить хорошее число, вы должны попытаться загрузить большой блок информации из заданного источника, а затем проверить; таким образом, вы должны «максимизировать» соединение при выполнении теста, что должно дать более полезные цифры.
Вы должны иметь возможность рассчитать все, что вам нужно, из IPGlobalStatistics класс.
Если вас интересует только согласованная скорость, вы можете посмотреть свойство NetworkInterface.Speed