Sobes.tech
Junior — Middle

È possibile spiegare le differenze chiave tra i protocolli TCP e UDP, e in quali situazioni è preferibile utilizzare ciascuno di essi?

sobes.tech AI

Risposta dell'AI

TCP (Transmission Control Protocol) e UDP (User Datagram Protocol) sono due principali protocolli di trasporto in rete.

Differenze chiave:

  • Affidabilità: TCP garantisce una consegna affidabile dei dati — assicura che tutti i pacchetti arrivino e nell'ordine corretto. UDP non garantisce né la consegna né l'ordine.
  • Impostazione della connessione: TCP stabilisce una connessione tramite un handshake a tre vie, UDP funziona senza stabilire una connessione.
  • Velocità: UDP è più veloce, poiché non perde tempo in conferme e controllo degli errori.
  • Controllo degli errori: TCP verifica gli errori e recupera i dati persi, UDP no.

Quando usarlo:

  • TCP: per applicazioni dove affidabilità e ordine sono importanti — server web, posta, trasferimento di file.
  • UDP: per applicazioni dove velocità e latenza sono cruciali, e la perdita di alcuni pacchetti è accettabile — giochi online, streaming video/audio, VoIP.

Esempio di utilizzo di UDP in Python:

import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(b"Hello", ("example.com", 12345))