Могу ли я использовать функцию WSAIoctl()
, предоставляемую Windows SDK, для управления скоростью отправки пакетов по сокету UDP?
Мне нужно контролировать скорость отправки пакетов через сокет UDP с точностью до 400 КБ / с. Я использую программу в системе Windows 7.
Я пытался использовать API Sleep()
, предоставляемый Windows SDK, для управления количеством пакетов UDP, отправленных за небольшой промежуток времени. Но я также обнаружил, что когда моя программа называется Sleep(1)
, поток, в котором функция Sleep(1)
всегда спит более 1 мс. Поэтому это решение не может контролировать скорость отправки пакетов UDP на уровне точности, который мне нужен.
Мой наставник сказал мне, что я могу попытаться использовать API WSAIoctl()
, чтобы установить опцию SIO_SET_QOS
для решения этой проблемы. Но я не могу найти достаточно информации о SIO_SET_QOS
.