Короткий ответ TCP — протокол с установлением соединения, гарантирующий доставку, порядок пакетов и контроль перегрузки ценой дополнительных задержек; UDP — протокол без установления соединения и без гарантий доставки/порядка, зато с минимальными накладными расходами и задержкой. Как это работает подробнее TCP использует механизм подтверждений (ACK), повторной передачи потерянных сегментов и скользящего окна для управления скоростью отправки, что требует хранения состояния соединения на обеих сторонах; UDP просто отправляет датаграммы в сеть без подтверждений и без состояния соединения. Пример кода Что использовать на практике Практика. TCP выбирают, когда важна целостность и порядок данных (HTTP, базы данных, SSH), а UDP — когда важнее низкая задержка и допустима потеря части данных или надёжность реализуется на уровне приложения (DNS-запросы, стриминг видео, игры, протоколы телеметрии вроде части gRPC/QUIC поверх UDP). Подводные камни Риск. Частая ошибка — считать UDP «ненадёжным и поэтому плохим протоколом