Junior — Middle
É possível explicar as principais diferenças entre os protocolos TCP e UDP, e em que situações é preferível usar cada um deles?
sobes.tech IA
Resposta da IA
TCP (Protocolo de Transmissão de Controlo) e UDP (Protocolo de Datagrama de Utilizador) são dois protocolos principais de transporte na rede.
Diferenças principais:
- Confiabilidade: TCP garante a entrega fiável de dados — garante que todos os pacotes cheguem e na ordem correta. UDP não garante a entrega nem a ordem.
- Estabelecimento de ligação: TCP estabelece uma ligação através de um handshake de três vias, UDP funciona sem estabelecer ligação.
- Velocidade: UDP é mais rápido, pois não gasta tempo em confirmações e controlo de erros.
- Controlo de erros: TCP verifica erros e recupera dados perdidos, UDP não.
Quando usar:
- TCP: para aplicações onde a fiabilidade e a ordem são importantes — servidores web, email, transferência de ficheiros.
- UDP: para aplicações onde a velocidade e a latência são cruciais, e a perda de alguns pacotes é aceitável — jogos online, streaming de vídeo/áudio, VoIP.
Exemplo de uso de UDP em Python:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(b"Hello", ("example.com", 12345))