Используйте разницу
1. TCP ориентирован на установление соединения, а UDP — без установления соединения.
То есть нет необходимости устанавливать соединение перед отправкой данных.
TCP предоставляет надежные услуги. Другими словами, данные, передаваемые через TCP-соединение, не содержат ошибок, не теряются, не повторяются и доходят в порядке. UDP прилагает все усилия для доставки, но не гарантирует надежную доставку.
TCP ориентирован на потоки байтов. Фактически TCP рассматривает данные как серию неструктурированных потоков байтов. UDP ориентирован на сообщения;
UDP не имеет контроля перегрузки, поэтому перегрузка сети не приведет к снижению скорости отправки исходного хоста (полезно для приложений реального времени, таких как IP-телефония, видеоконференции в реальном времени и т. д.).
Каждое TCP-соединение может быть только двухточечным. UDP поддерживает интерактивную связь «один к одному», «один ко многим», «многие к одному» и «многие ко многим».
Заголовок TCP-заголовка составляет 20 байт, а заголовок UDP небольшой, всего 8 байт.
Логический канал связи TCP — это полнодуплексный надежный канал, а UDP — ненадежный канал.
Различные сценарии применения
2. TCP используется, когда необходима надежная передача на транспортном уровне. UDP в основном используется для связи или широковещательной связи, к которой предъявляются высокие требования к высокоскоростной передаче и производительности в реальном времени.
Возьмем пример звонка по IP-телефонии. Если используется TCP, данные будут отправлены повторно, если они будут потеряны во время передачи, что приведет к невозможности плавной передачи голоса вызывающего абонента. При использовании UDP он не будет выполнять обработку повторной передачи, поэтому не возникнет проблемы большой задержки прихода звука. Даже если некоторые данные будут потеряны, это повлияет только на небольшую часть вызовов.
Выше приведена разница между TCP и UDP в php. Надеюсь, это будет полезно всем.