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