Я реализую функцию передачи данных UDP. У меня есть несколько вопросов о буфере UDP.
Я использую UDPClient для отправки / получения UDP. и моя широкополосная пропускная способность составляет 150 КБ / с (байт / с, а не бит / с ).
Я отправляю дейтаграмму 500B 27 хостам
27 хостов отправляют обратно дейтаграммы 10 КБ, если они получают.
Итак, я должен получить 27 ответов, верно? однако вместо этого я получаю в среднем 8 - 12 баллов.
Затем я попытался уменьшить размер ответа до 500В, да, я получаю все.
Моя мысль заключается в том, что если все 27 хостов отправят ответ 10 КБ почти одновременно, входящий трафик будет 270 КБ / с (вероятно), что превышает мою входящую пропускную способность, поэтому происходят потери. Я прав?
Но я думаю, что даже если входящий трафик превышает пропускную способность, должна ли Windows помещать дейтаграмму в буфер и ждать получения?
Я тогда подозреваю, что, возможно, ReceiveBufferSize моего UdpClient слишком мал? по умолчанию это 8092B ??
Я не знаю, в порядке ли я в этих точках. Пожалуйста, помогите мне.