Имеется клиент с протоколом UDP. Изменить это нельзя. От него приходят пакеты с определённой информацией. Клиент это девайс, к компьютеру с Windows подключен напрямую патч-кордом. В целом всё работает, но иногда бывают непонятные проблемы. Пакеты приходят маленькие. В ОС с ними работает обычная программа из юзерспейса. К сожалению в протоколе нет номеров пакетов или ещё какой-либо информации.
Правильно ли я понимаю, что размер UDP буфера в Windows 32 KB (для каждого сокета)? От клиента данные приходят со скоростью примерно 1.6 KB/s (20 пакетов в секунду). То бишь буфера хватает на 20 секунд. Программа работает постоянно, задержек больше, чем на сотые доли секунды не бывает, значит с размером буфера проблем быть не может.
Можно ли быть уверенными, что сетевые драйверы в Windows гарантируют упорядоченность пакетов после того, как они их приняли, если в буфере место не кончилось?
Можно ли быть уверенными, что если патч-корд хороший, то потерь и переупорядочиваний пакетов на таких скоростях быть не может?