С TCP устройства в конечных точках должны установить sh соединение через «рукопожатие» перед отправкой любых данных. TCP также использует управление потоком, порядковые номера, подтверждения и таймеры для обеспечения надежной передачи данных. Управление перегрузкой также используется TCP для настройки скорости передачи. Реализация вышеупомянутых механизмов требует временных затрат.
UDP, с другой стороны, практически ничего не делает, кроме мультиплексирования / демультиплексирования и простой проверки ошибок.
Приложениям реального времени часто требуется минимальный битрейт и может терпеть некоторую потерю данных. В вашем примере для голосового чата в реальном времени более важно, чтобы пользователи слышали друг друга без задержки, даже если несколько миллисекунд не слышны. Сетевые обработчики, которые отправляют данные игрока на сервер, должны использовать TCP, потому что надежность данных там жизненно важна.