Одна sendto() создаёт datagram boundary, но delivery, ordering, duplicate protection и retry policy остаются приложению.
UDP — message-oriented transport с минимальным механизмом. Один sendto() формирует одну UDP datagram с ports, length, checksum и payload. Если datagram доставлена и buffer recvfrom() достаточен, application наблюдает одну datagram, а не часть соседней datagram. Но UDP не гарантирует delivery, ordering или duplicate protection и не выполняет retransmission за приложение.
Поэтому «надёжный запрос поверх UDP» — уже отдельный application protocol. Ему нужны operation identity, timeout, bounded retry, deduplication/idempotency, maximum payload и наблюдаемая причина завершения. Положительный sendto() остаётся локальным evidence: local stack принял datagram, но remote process мог ничего не получить.
Введите числа или выберите пресет