Leçon 22 : Datagrammes UDP — sendto et recvfrom
Contrairement à TCP, UDP (User Datagram Protocol) n'établit pas de connexion, ne garantit pas l'ordre et ne garantit pas la livraison. Ça a l'air d'un inconvénient — mais c'est précisément pour ça qu'UDP est plus rapide et plus simple, adapté aux scénarios où on peut se permettre de perdre un seul p
UDP, c'est comme envoyer une carte postale : tu écris l'adresse, tu la déposes dans la boîte — et voilà, sans confirmation qu'elle est arrivée et sans savoir si une autre carte l'a doublée. TCP, à l'inverse, c'est un colis suivi avec confirmation de signature et assurance. Pour des métriques GPU envoyées chaque seconde, une carte postale rapide et bon marché suffit largement.
- UDP
- Un protocole de transport sans connexion. Envoie des datagrammes sans connexion, sans garantie d'ordre ni de livraison. Plus rapide et plus simple que TCP.
- sendto()
- Envoie un datagramme UDP vers une adresse de destination spécifiée à chaque appel. Contrairement à send(), aucune connexion préalable n'est nécessaire.
- recvfrom()
- Reçoit un datagramme UDP et retourne à la fois les données et l'adresse de l'expéditeur. Permet d'envoyer une réponse à l'expéditeur spécifique.
- datagramme
- Une unité de données indépendante en UDP. Chaque datagramme contient une adresse source, une adresse de destination et des données. Il est indépendant des datagrammes précédents ou futurs.
- sans connexion (connectionless)
- Un modèle de communication où chaque message est indépendant et où il n'y a pas de processus d'établissement de connexion (handshake). UDP est sans connexion ; TCP est orienté connexion.