У меня есть программа на Java, которая постоянно отправляет данные UDP из внешней системы.
Периодически нам нужно прекратить получать данные (потому что другая машина обрабатывает их). В это время мой поток чтения сокетов переходит в спящий цикл. Когда пришло время начинать прием пакетов, я снова захожу в socket.receive(Packet)
и у меня есть полный буфер пакетов, которые я должен не обрабатывать. (Данные поступили во время «остановки».)
Есть ли способ очистить буфер DatagramSocket?
Если нет, то какая лучшая альтернатива? Установите размер буфера в 0, когда я перехожу в состояние ожидания и возвращаю его, когда я снова начинаю обслуживать пакеты? Закрой розетку, когда я буду ждать, и открой новую, когда вернусь?