diferencia de uso
1. TCP está orientado a la conexión, mientras que UDP no tiene conexión.
Es decir, no es necesario establecer una conexión antes de enviar datos.
TCP proporciona servicios confiables. En otras palabras, los datos transmitidos a través de la conexión TCP no contienen errores, no se pierden, no se repiten y llegan en orden. UDP hace todo lo posible para realizar la entrega, pero no garantiza una entrega confiable.
TCP está orientado al flujo de bytes. De hecho, TCP trata los datos como una serie de flujos de bytes no estructurados;
UDP no tiene control de congestión, por lo que la congestión de la red no reducirá la velocidad de envío del host de origen (útil para aplicaciones en tiempo real, como telefonía IP, videoconferencias en tiempo real, etc.)
Cada conexión TCP solo puede ser punto a punto. UDP admite comunicación interactiva uno a uno, uno a muchos, muchos a uno y muchos a muchos.
La sobrecarga del encabezado TCP es de 20 bytes y la sobrecarga del encabezado UDP es pequeña, solo 8 bytes.
El canal de comunicación lógico de TCP es un canal confiable full-duplex, mientras que UDP es un canal no confiable.
Diferentes escenarios de aplicación
2. TCP se utiliza cuando es necesaria una transmisión confiable en la capa de transporte. UDP se utiliza principalmente para comunicaciones o comunicaciones de transmisión que tienen altos requisitos de transmisión de alta velocidad y rendimiento en tiempo real.
Tomemos un ejemplo de una llamada a través de telefonía IP. Si se utiliza TCP, los datos se reenviarán si se pierden durante la transmisión, lo que resultará en la imposibilidad de transmitir sin problemas la voz de la persona que llama. Con UDP, no realizará procesamiento de retransmisión, por lo que no habrá problema de un gran retraso en la llegada del sonido. Incluso si se pierden algunos datos, sólo afectará a una pequeña parte de las llamadas.
Lo anterior es la diferencia entre TCP y UDP en php. Espero que sea útil para todos.