Question FAQ :
Je doit créer un protocole pour mon application et je me demande si je dois utiliser plutôt TCP ou UDP. Quels arguments me permettraient de choisir l'un plutôt que l'autre ?
Question FAQ :
Je doit créer un protocole pour mon application et je me demande si je dois utiliser plutôt TCP ou UDP. Quels arguments me permettraient de choisir l'un plutôt que l'autre ?
TCP fonctionne sur un mécanisme de connexion et d'acquittement.
Toute trame envoyée est suivie d'un acquitement. Si celui-ci n'est pas reçu, le paquet est redemandé.
Le processus de connexion est en trois étapes : SYN, SYN/ACK, ACK.
Pour fermer une session TCP, 3 étapes également : FIN, ACK/FIN, ACK.
C'est un protocole de couche 4 (Transport) orienté connexion et extrémement fiable.
UDP, quant à lui, frise la simplicité.
Un paquet est envoyé et il est lâché sur le réseau.
Aucune confirmation de réception n'est reçue.
Les paquets sont des datagrammes.
Pour tout ce qui necessite de s'assurer de la transmission des paquets de maniere ordonnee, avec eventuellement une latence, il faut utiliser TCP.
En revanche, en cas de perte de paquet, le mode de fonctionnement de TCP est de ne pas tenir compte de ce qui a deja ete recu, et de redemander la transmission de tous les paquets depuis la perte. Ainsi, en cas de perte de paquet, un delai peut etre introduit "en attendant" la re-emission.
Donc pour tout ce qui est pseudo temps-reel (visio-conference), il convient d'utiliser un protocole qui sera base sur UDP.
UDP pour sa part ne gere rien. c'est a l'utilisateur d'implementer ce dont il a besoin (numerotation des paquets si ceux-ci doivent etre ordonnes, re-emission d'un paquet si besoin, ....)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager