Прежде всего вы должны проверить возвращаемые значения при отправке данных, чтобы проверить, были ли данные успешно отправлены или нет.
Во-вторых, это может произойти, внутренний буфер UDP не может вместить больше данных, потому что предыдущие данные еще не переданы. Таким образом, самое простое решение состоит в том, что каждый раз перед отправкой данных вы должны проверять, доступен ли для записи сокет UDP или нет. Вы можете сделать это, вызвав «select» или «poll» на этом UDP-сокете.