Usar diferença
1. O TCP é orientado à conexão, enquanto o UDP não tem conexão.
Ou seja, não há necessidade de estabelecer conexão antes de enviar dados
TCP fornece serviços confiáveis. Em outras palavras, os dados transmitidos pela conexão TCP estão livres de erros, não são perdidos, não são repetidos e chegam em ordem. A UDP faz todos os esforços para entregar, mas não garante uma entrega confiável.
O TCP é orientado ao fluxo de bytes. Na verdade, o TCP trata os dados como uma série de fluxos de bytes não estruturados. O UDP é orientado a mensagens.
O UDP não tem controle de congestionamento, portanto o congestionamento da rede não reduzirá a taxa de envio do host de origem (útil para aplicações em tempo real, como telefonia IP, videoconferência em tempo real, etc.)
Cada conexão TCP só pode ser ponto a ponto. O UDP suporta comunicação interativa um para um, um para muitos, muitos para um e muitos para muitos.
A sobrecarga do cabeçalho TCP é de 20 bytes e a sobrecarga do cabeçalho UDP é pequena, apenas 8 bytes.
O canal de comunicação lógica do TCP é um canal confiável full-duplex, enquanto o UDP é um canal não confiável.
Diferentes cenários de aplicação
2. O TCP é usado quando uma transmissão confiável é necessária na camada de transporte. O UDP é usado principalmente para comunicações ou comunicações de transmissão que possuem altos requisitos de transmissão de alta velocidade e desempenho em tempo real.
Veja um exemplo de chamada por telefonia IP. Se o TCP for usado, os dados serão reenviados se forem perdidos durante a transmissão, o que resultará na incapacidade de transmitir suavemente a voz do chamador. Com o UDP não realizará processamento de retransmissão, portanto não haverá problema de grande atraso na chegada do som. Mesmo que alguns dados sejam perdidos, isso afetará apenas uma pequena parte das chamadas.
A descrição acima é a diferença entre TCP e UDP em php. Espero que seja útil para todos.