У меня есть UdpClient, сидящий на порту. Я использую его для отправки данных.Буфер приема UdpClient. Когда он отбрасывает пакеты?
99% времени я не забочусь о входящих пакетах. Однако в редких случаях мне нужно услышать ответ от одного из моих отправленных пакетов.
Моя первая мысль заключается в простом вызове UdpClient.Recieve() прямо после отправки и прокрутки любых пакетов до тех пор, пока я не нахожу свой ответ.
Однако, мне интересно, как буфер приема работает в UdpClient. Поскольку я не обрабатываю любые принятые пакеты нормально, я предполагаю, что он должен буферизировать их, а затем выбросить их, когда буфер достигнет определенного размера. Я обеспокоен тем, что это отбрасывание может произойти сразу после моего ответа на провод, но до того, как мой вызов Recieve() выполнил.
Единственное решение, с которым я могу думать, постоянно обрабатывать все принятые пакеты асинхронно, но это кажется излишним для такой простой ситуации.
Кто-нибудь знает поведение буферизации UdpClient? (например, выбрасывает ли он весь буфер или только самые старые данные или что?). MSDN не дает никаких подробностей, которые я могу найти.