Введение в UDP в C#
UDP передаёт отдельные датаграммы. У каждой есть адрес получателя и кусок байтов. Соединение заранее не устанавливают, подтверждения о доставке нет. Пакет может потеряться, прийти дважды или обогнать предыдущий.
Так делают, когда опоздавший пакет уже бесполезен: голос, положение игрока, короткое объявление в локальной сети. Потеря одного куска терпимее, чем пауза ради повторной передачи. Если каждый байт обязан дойти и встать в свой порядок, берут соединение с потоком, а не датаграмму.
В учебной программе отправитель и получатель часто живут рядом. Получатель сначала занимает порт, и только потом уходит пакет. Иначе датаграмму некому принять.