Aula 22: Datagramas UDP — sendto e recvfrom
Ao contrário do TCP, o UDP (User Datagram Protocol) não estabelece conexão, não garante ordem e não garante entrega. Parece uma desvantagem — mas é justamente por isso que o UDP é mais rápido e mais simples, adequado para cenários em que dá para perder um packet isolado, mas não dá para pagar o cust
UDP é como enviar um cartão-postal: você escreve o endereço, coloca na caixa — e pronto, sem confirmação de que chegou e sem saber se outro cartão-postal o ultrapassou. O TCP, por outro lado, é uma encomenda rastreada com confirmação de assinatura e seguro. Para métricas de GPU enviadas a cada segundo, um cartão-postal barato e rápido é mais do que suficiente.
- UDP (User Datagram Protocol)
- Um protocolo de transporte connectionless. Envia datagramas sem estabelecer conexão, sem garantia de ordem ou de entrega. Mais rápido e mais simples que o TCP.
- sendto()
- Envia um datagrama UDP para um endereço de destino especificado em cada chamada. Ao contrário de send(), não exige uma conexão prévia.
- recvfrom()
- Recebe um datagrama UDP e retorna tanto os dados quanto o endereço do remetente. Permite enviar uma resposta de volta ao remetente específico.
- datagrama
- Uma unidade independente de dados em UDP. Cada datagrama contém endereço de origem, endereço de destino e dados. É independente de datagramas anteriores ou futuros.
- sem conexão (connectionless)
- Um modelo de comunicação em que cada mensagem é independente e não há processo de estabelecimento de conexão (handshake). O UDP é connectionless; o TCP é orientado a conexão.