Как программно проверить интернет-пропускную способность в VC ++?

Создайте пользовательский подкласс и переопределите onMeasure. В вашем onMeasure посмотрите на спецэффекты, чтобы узнать, насколько вы велики, и установите подходящую ширину и высоту.

onMeasure - это функция, которую ваш родительский вид вызывает для определения размера своих подпредставлений. Обязательно вызовите setMeasuredDimension внутри onMeasure, иначе вы где-нибудь сгенерируете исключение.

5
задан subbu 9 April 2009 в 12:11
поделиться

3 ответа

The only way to check your bandwidth is to actually try to use it, i.e. by downloading a file from somewhere else and measuring the throughput.

Even then it'll only be an approximation, because other network effects will affect the results:

  • latency
  • asymmetric upload / download
  • other traffic
15
ответ дан 18 December 2019 в 07:56
поделиться

Если вы имеете в виду текущее использование сети, вы можете вызвать

DeviceIoControl (hDevice, OID_GEN_STATISTICS , ... )

в Vista и выше, чтобы получить информация об устройстве. В противном случае вызовите GetIpStatisticsEx для получения общесистемной информации или используйте WMI Win32_PerfRawData_Tcpip_NetworkInterface .

Попытка получить «доступную» полосу пропускания путем попытки насыщения соединения не является разумной или надежной мерой. , Просто попробуйте некоторые из доступных онлайн-тестов скорости и убедитесь, что они включают немасштабируемую полосу пропускания и подвержены контролю перегрузки, QoS и формированию трафика.

3
ответ дан 18 December 2019 в 07:56
поделиться

Проверка полосы пропускания будет сложной даже при ее использовании. если вы попытаетесь загрузить данные, например, с удаленного компьютера X, и оцените цифру в N Кб, тогда как вы узнаете, является ли ваше ограничение пропускной способности или ограничение соединения с удаленным компьютером X?

Вы ' необходимо начать одновременную загрузку (или загрузку, если это Это направление, которое вы хотите измерить) одновременно с несколькими удаленными машинами, и продолжайте увеличивать нагрузку, пока пропускная способность не перестанет увеличиваться.

Но, как сказал Альнитак, вы все равно не будете знать, какие другие факторы могут влиять на результат. Например, используется ли какой-либо другой процесс на вашем компьютере с использованием соединения? или ребенок соседствует по беспроводной сети и крадет пропускную способность? Может быть, это то, что вы пытаетесь выяснить!

2
ответ дан 18 December 2019 в 07:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: