Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
788 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  'TCP/IP' - vs - 'UDP' c'est quoi la difference ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

'TCP/IP' - vs - 'UDP' c'est quoi la difference ?

n°453861
Giz
Posté le 10-07-2003 à 16:31:00  profilanswer
 

Voila je dois concevoir une appli permettant la communication entre un simulateur et un serveur. Un ordinateur entre les deux doit se charger d'envoyer des donnees au serveur par protocole reseau. Que choisir : programmation TCP/IP ou bien UDP ?
eclaircicez moi sur les differences, la facilite d'implimentation en C++ (Visual C++)...
Merci

mood
Publicité
Posté le 10-07-2003 à 16:31:00  profilanswer
 

n°453862
xilebo
noone
Posté le 10-07-2003 à 16:35:04  profilanswer
 

pas dur  
 
TCP protocole en mode connecté (stream) utile pour les applis qui ont besoin d etre en mode connecté (ex : client ftp)
 
UDP protocole en mode non connecté (datagram) ex : quake (tu peux rejoindre une partie en cours)
 
 
En gros pour utiliser ces protocoles sous windows tu utilises winsock2. tu auras l aide dans MSDN je ne vais pas te detailler tout.  
 
Juste un truc, apparemment toi, tu as besoin d un mode connecté donc TCP.
 
:)
 
 

n°453863
xilebo
noone
Posté le 10-07-2003 à 16:35:47  profilanswer
 

pas dur  
 
TCP protocole en mode connecté (stream) utile pour les applis qui ont besoin d etre en mode connecté (ex : client ftp)
 
UDP protocole en mode non connecté (datagram) ex : quake (tu peux rejoindre une partie en cours)
 
 
En gros pour utiliser ces protocoles sous windows tu utilises winsock2. tu auras l aide dans MSDN je ne vais pas te detailler tout.  
 
Juste un truc, apparemment toi, tu as besoin d un mode connecté donc TCP.
 
:)
 
 

n°453866
xilebo
noone
Posté le 10-07-2003 à 16:38:14  profilanswer
 

HS  
 
j ai enfin compris pourquoi y en avait qui avaient 2 posts identiques a la suite : en utilisant la touche (de merde) precedente du navigateur, ca rappelle le script de post et ca reposte.
 
 
Fait chier je deteste cette touche mais j ai pas d autre choix, je suis sur un mac (de merde aussi) et ca rame tellement pour rappeler les pages que je prefere faire precedent plutot que d attendre au moins 2 mn pour chaque page .
 
/HS

n°453897
Giz
Posté le 10-07-2003 à 16:56:09  profilanswer
 

xilebo a écrit :

HS  
 
j ai enfin compris pourquoi y en avait qui avaient 2 posts identiques a la suite : en utilisant la touche (de merde) precedente du navigateur, ca rappelle le script de post et ca reposte.
 
 
Fait chier je deteste cette touche mais j ai pas d autre choix, je suis sur un mac (de merde aussi) et ca rame tellement pour rappeler les pages que je prefere faire precedent plutot que d attendre au moins 2 mn pour chaque page .
 
/HS


 
 [:zoumzoumzeng]

n°453906
Giz
Posté le 10-07-2003 à 17:02:39  profilanswer
 

Dc tu penses que je dois utiliser TCP/IP a priori. En fait, plus exactement, il s'agit d'un simulateur qui comporte des capteurs. Ces derniers fournissent des informations que l'on recueille sur un PC intermediaire. Celui-ci fait a partir de ces donnees recues des calculs necessaires ; ainsi, les donnees sont pretes a etre envoyees (par protocole reseau (carte ethernet)) au serveur qui lui aura donc une tache allegee en recevant ainsi les donnees toutes pretes du PC intermediaire. Il s'agirait donc d'une simple communication classique. UDP ne suffit - il donc pas ?

n°453958
benou
Posté le 10-07-2003 à 17:36:46  profilanswer
 

xilebo a écrit :


UDP protocole en mode non connecté (datagram) ex : quake (tu peux rejoindre une partie en cours)


ca m'étonnerait que le proto d'un jeu se base sur de l'UDP ...
et pkoi il faudrait de l'UDP pour pouvoir se connecter en cours de partie  :??:


---------------
ma vie, mon oeuvre - HomePlayer
n°453959
xilebo
noone
Posté le 10-07-2003 à 17:36:50  profilanswer
 

si tu considere que tu n as pas besoin d authentification et que tu veux juste "recevoir" des donnees d un client pour les  traiter ensuite, le mode UDP peut dans ce cas te satisfaire (parait que c plus rapide m'enfin)...
 
tu recevras des paquets venant de ton client et ton serveur devra les traiter.
 
Il me semble juste (par contre la c pas sur) que les paquets UDP n arrivent pas forcement dans l ordre (c est un truc qui fait partie du QoS de TCP) mais je ne sais plus si c est pour UDP ou carrement IP (parceque pour IP parcontre c sur)
 
regarde les RFC pour en etre sur (je regarde de mon coté)
 
 
 
Enfin tout ca pour dire que ce que tu veux implementer , t en auras pas pour longtemps ni beaucoup de code a pondre (enormement d exemples sur le net sur MSDN)
 
tiens pour te dire : j ai implementé un petit programme (3 jours) qui sert a relayer des ecritures port com a travers internet ... j ai utilisé le mode TCP mais effectivement j aurai pu utiliser UDP. C est juste parce que j ai pas l habitude de l utiliser (et il est moins utilisé d ailleurs)

n°453961
benou
Posté le 10-07-2003 à 17:38:13  profilanswer
 

pour UDP : l'ordre des paquets n'est aps assuré, ni le fait que tu les reçoives ...  
 
franchement, faire de l'UDP c'est vraiment se compliquer la tache ! :/


---------------
ma vie, mon oeuvre - HomePlayer
n°453966
xilebo
noone
Posté le 10-07-2003 à 17:44:41  profilanswer
 

benou a écrit :

pour UDP : l'ordre des paquets n'est aps assuré, ni le fait que tu les reçoives ...  
 
franchement, faire de l'UDP c'est vraiment se compliquer la tache ! :/


 
:jap: merci de me confirmer ceci.
 
je pense qu il y a quand meme des interets a utiliser ce protocole , ne serait que pour la vitesse (ping ou transfert) , mais aussi  pour ne pas avoir a gerer de "session"

mood
Publicité
Posté le 10-07-2003 à 17:44:41  profilanswer
 

n°453971
benou
Posté le 10-07-2003 à 17:49:04  profilanswer
 

a part opur de l'optimisation, je vois pas l'intérêt [:spamafote]
 
et vous la complexité (ordonancement des paquets, gestion des ressoumission, etc ...), faut vraiment avoir un sacré besoin de performance pour justifier de se faire chier avec ca.
 
par exemple, le proto HTTP qui est basé sur du "question-réponse" (mode déconnecté), ce qui correspond bien au modèle UDP, bha il utilise du TCP pour pas avoir à se faire chier avec tout ca ...
 
edit : et si tu veux pas gérer de session, bha tu fermes tes connexions et puis voilou ...


Message édité par benou le 10-07-2003 à 17:49:46

---------------
ma vie, mon oeuvre - HomePlayer
n°453975
xilebo
noone
Posté le 10-07-2003 à 17:53:56  profilanswer
 

chui d accord avec toi ,si pas besoin de performances , alors vaut mieux utiliser TCP (plus simple etc...)
 
 
mais bon je suis persuadé que quake utilise UDP. c pas pour rien.

n°453977
darklord
You're welcome
Posté le 10-07-2003 à 17:56:40  profilanswer
 

xilebo a écrit :

pas dur  
 
TCP protocole en mode connecté (stream) utile pour les applis qui ont besoin d etre en mode connecté (ex : client ftp)
 
UDP protocole en mode non connecté (datagram) ex : quake (tu peux rejoindre une partie en cours)


 
ca n'a RIEN à voir  :heink:


---------------
Just because you feel good does not make you right
n°453978
darklord
You're welcome
Posté le 10-07-2003 à 17:57:18  profilanswer
 

xilebo a écrit :


ne serait que pour la vitesse (ping ou transfert) , mais aussi  pour ne pas avoir a gerer de "session"


 
mais qu'est ce que tu racontes toi?


---------------
Just because you feel good does not make you right
n°453979
darklord
You're welcome
Posté le 10-07-2003 à 17:59:17  profilanswer
 

xilebo a écrit :

mais bon je suis persuadé que quake utilise UDP. c pas pour rien.


 
quake utilise UDP parce qu'il peut se permettre de perdre un peu de détails comparé à la latence si un paquet TCP était perdu. Avec TCP chaque paquet se doit d'etre délivré et dans un ordre correct. Si un paquet se perd dans le réseau par suite de congestion sur un noeud par exemple, il y aura une latence avant que l'émetteur ne s'en rende compte et retransmette. Cette latence est inadmisible pour un jeu en réseau.
 
Par contre perdre un ou deux paquets c'est pas bien grave, c'est pas comme si tu transmettais un document ou un mail par exemple.
 
Mais ca n'a rien a voir avec le fait que tu peux te connecter à une partie en cours [:mlc]


Message édité par darklord le 10-07-2003 à 18:00:00

---------------
Just because you feel good does not make you right
n°453980
benou
Posté le 10-07-2003 à 18:02:14  profilanswer
 

vous êtes sur que c'est de l'UDP quake ?


---------------
ma vie, mon oeuvre - HomePlayer
n°453982
darklord
You're welcome
Posté le 10-07-2003 à 18:04:54  profilanswer
 

benou a écrit :

vous êtes sur que c'est de l'UDP quake ?


 
pour une partie du traffic je pense que c'est ce qu'il y a de plus raisonnable


---------------
Just because you feel good does not make you right
n°453983
*syl*
--> []
Posté le 10-07-2003 à 18:05:22  profilanswer
 

benou a écrit :

vous êtes sur que c'est de l'UDP quake ?

Oui

n°453984
darklord
You're welcome
Posté le 10-07-2003 à 18:05:29  profilanswer
 

http://www.doc.ic.ac.uk/~cjp99/mrq [...] node3.html
 
Edit: et ce lien résumé mon post précédent d'ailleurs :o


Message édité par darklord le 10-07-2003 à 18:06:17

---------------
Just because you feel good does not make you right
n°453985
pascal_
Posté le 10-07-2003 à 18:06:53  profilanswer
 

DarkLord a écrit :


 
ca n'a RIEN à voir  :heink:  


 
+1
 
En gros :  
- TCP : c'est le téléphone : avantage tu es sûr que quand tu envois qqchose, ça arrive. Tu peux avoir plusieurs téléphone (plusieurs connection)
- UDP : c'est la poste. Tu envois, ça peux ne pas arriver (grève :D). Avantage très minime: c'est un poil plus rapide car celui qui reçoit ne transmet pas d'accusé
 
Edit : pour le temsp réel( Quake, serveur vidéo,..), on préfère utiliser UDP


Message édité par pascal_ le 10-07-2003 à 18:08:48
n°453986
Mara's dad
Yes I can !
Posté le 10-07-2003 à 18:07:06  profilanswer
 

Merci google ( quake network udp ) : http://www.alumni.caltech.edu/~chamness/qwPackets.html
 
Et aussi google (quake network tcp ) :
http://www.jfind.com/articles/glass033100.shtml


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°453987
darklord
You're welcome
Posté le 10-07-2003 à 18:09:57  profilanswer
 

pascal_ a écrit :


 
+1
 
En gros :  
- TCP : c'est le téléphone : avantage tu es sûr que quand tu envois qqchose, ça arrive. Tu peux avoir plusieurs téléphone (plusieurs connection)
- UDP : c'est la poste. Tu envois, ça peux ne pas arriver (grève :D). Avantage très minime: c'est un poil plus rapide car celui qui reçoit ne transmet pas d'accusé
 
Edit : pour le temsp réel( Quake, serveur vidéo,..), on préfère utiliser UDP


 
bon téléphone/poste c'est pas super comme image. Surtout qu'en téléphonie sur IP c'est clairement pas TCP qui est utilisé :D
 
(ok ok je fais ma pute désolé)


---------------
Just because you feel good does not make you right
n°454068
xilebo
noone
Posté le 10-07-2003 à 19:47:15  profilanswer
 

DarkLord a écrit :


 
quake utilise UDP parce qu'il peut se permettre de perdre un peu de détails comparé à la latence si un paquet TCP était perdu. Avec TCP chaque paquet se doit d'etre délivré et dans un ordre correct. Si un paquet se perd dans le réseau par suite de congestion sur un noeud par exemple, il y aura une latence avant que l'émetteur ne s'en rende compte et retransmette. Cette latence est inadmisible pour un jeu en réseau.
 
Par contre perdre un ou deux paquets c'est pas bien grave, c'est pas comme si tu transmettais un document ou un mail par exemple.
 
Mais ca n'a rien a voir avec le fait que tu peux te connecter à une partie en cours [:mlc]


 
:jap: ok , de toutes facons ca n'etait que des suppositions... je me tairais la prochaine fois plutot que de raconter mes conneries  :D
 
merci pour tes eclaircissements. Juste une question, est ce que la plupart des jeux utilisent UDP ou c est specifique a peu de jeu comme quake ?

n°454073
*syl*
--> []
Posté le 10-07-2003 à 19:49:35  profilanswer
 

xilebo a écrit :

merci pour tes eclaircissements. Juste une question, est ce que la plupart des jeux utilisent UDP ou c est specifique a peu de jeu comme quake ?

http://www.doc.ic.ac.uk/~cjp99/mrq [...] node3.html
T'as lu le titre ?

n°454077
xilebo
noone
Posté le 10-07-2003 à 19:56:13  profilanswer
 
n°454080
darklord
You're welcome
Posté le 10-07-2003 à 20:03:52  profilanswer
 


 

xilebo a écrit :

:jap: ok , de toutes facons ca n'etait que des suppositions... je me tairais la prochaine fois plutot que de raconter mes conneries  :D  


 
 :heink:  
 
 [:tapai]


Message édité par darklord le 10-07-2003 à 20:04:17

---------------
Just because you feel good does not make you right
n°454081
xilebo
noone
Posté le 10-07-2003 à 20:05:58  profilanswer
 

DarkLord a écrit :


 
 
 
 :heink:  
 
 [:tapai]


 
la violence ne resoud rien :)

n°454093
mrbebert
Posté le 10-07-2003 à 20:29:36  profilanswer
 

pascal_ a écrit :

+1
 
En gros :  
- TCP : c'est le téléphone : avantage tu es sûr que quand tu envois qqchose, ça arrive. Tu peux avoir plusieurs téléphone (plusieurs connection)
- UDP : c'est la poste. Tu envois, ça peux ne pas arriver (grève :D). Avantage très minime: c'est un poil plus rapide car celui qui reçoit ne transmet pas d'accusé
 
Edit : pour le temsp réel( Quake, serveur vidéo,..), on préfère utiliser UDP

Et on peut même ajouter que ca arrive dans l'ordre où ca a été émis :)  
Alors qu'en UDP, rien n'empêche un paquet d'en doubler un autre [:kokolekoko]


Message édité par mrbebert le 10-07-2003 à 20:30:34
n°454131
art_dupond
je suis neuneu... oui oui !!
Posté le 10-07-2003 à 20:50:57  profilanswer
 

le fait que les paquets UDP n'arrivent pas dans l'ordre n'est pas du au fait qu'ils doivent traverser le "réseau" (chemins différents possibles pour deux paquets UDP) ?
 
si c'est en local, normalement les paquets étant envoyés dans l'ordre ils devraient arriver dans l'ordre non ? (sauf collision => perte du paquet)
 
 
 
je suis neuneu ! n'est-ce pas ?


---------------
oui oui
n°454134
mrbebert
Posté le 10-07-2003 à 20:52:43  profilanswer
 

Oui, en local, il y a de très fortes chances pour qu'ils arrivent dans l'ordre :D  
Mais ce n'est pas garanti, tu ne peux pas te baser sur cette hypothèse pour ton programme [:proy]

n°454818
Giz
Posté le 11-07-2003 à 11:05:35  profilanswer
 

En gros UDP : plus performant/rapide mais moins fiable
TCP : moins performant mais fiable
 
Pour mon cas j'utiliserai dc UDP :D
Bon OK merci a tous  :hello:

n°454872
apolon34
Vive Linux!!
Posté le 11-07-2003 à 11:41:04  profilanswer
 

giz a écrit :

En gros UDP : plus performant/rapide mais moins fiable
TCP : moins performant mais fiable
 
Pour mon cas j'utiliserai dc UDP :D
Bon OK merci a tous  :hello:  


 
ah bon, tu peux te permettre de perdre des infos en route, pour économiser 2ko/s de bande passante en ethernet ??
 
prends du tcp, il est tellement plus adapté a ton utilisation!

n°454981
Giz
Posté le 11-07-2003 à 12:49:51  profilanswer
 

apolon34 a écrit :


 
ah bon, tu peux te permettre de perdre des infos en route, pour économiser 2ko/s de bande passante en ethernet ??
 
prends du tcp, il est tellement plus adapté a ton utilisation!


 
Ben avt il ni avait pas de PC intermediaire (celui ci que je dois programmer) et ils utilisaient le protocole UDP (j'ai les sources) pour communiquer (entre serveur et simulateur) a croire qu'il ont fait un choix qu'ils jugeaient correct :/...ou bien ils ont fait ca a la rache  [:spamafote] . Il est vrai que ca depend de l'appli : je ne sais pas si on se doit d'avoir des communications hyper fiables :/. Il n'y a aucune personne pour me le dire  (aucun informaticien) [:spamafote]


Message édité par Giz le 11-07-2003 à 12:52:47
n°455467
apolon34
Vive Linux!!
Posté le 11-07-2003 à 16:08:05  profilanswer
 

giz a écrit :


 
Ben avt il ni avait pas de PC intermediaire (celui ci que je dois programmer) et ils utilisaient le protocole UDP (j'ai les sources) pour communiquer (entre serveur et simulateur) a croire qu'il ont fait un choix qu'ils jugeaient correct :/...ou bien ils ont fait ca a la rache  [:spamafote] . Il est vrai que ca depend de l'appli : je ne sais pas si on se doit d'avoir des communications hyper fiables :/. Il n'y a aucune personne pour me le dire  (aucun informaticien) [:spamafote]  


 
le probleme de savoir si tu as besoin de communications fiables n'est absolument pas informatique.
 
Si tu peux te permettre de perdre des infos de tes capteurs de temps en temps, alors tu PEUX utiliser udp.
 
je penses néanmoins que c'est se faire chier pour rien, il te suffit d'etablir une connection tcp vers ton serveur et de lui balancer les données.
 
Ca sera un tout ptit poil plus utilisateur de ressources que l'udp mais bien plus simple a programmer et tes communications seront sures

n°455473
Mara's dad
Yes I can !
Posté le 11-07-2003 à 16:15:31  profilanswer
 

Y'a peut-être un facteur temps qui joue :
 
Si les capteurs envoient des infos à haute fréquence, l'utilisation de TCP peut alors poser un problème en introduisant un temps d'arrêt dans les comunication alors que les données continues d'arriver des capteurs.
 
S'il y a un rique d'engorgement TCP est à proscrire.
 
C'est sans doute une des raisons qui fait que les jeux en réseaux utilisent UDP.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°459939
blackgodde​ss
vive le troll !
Posté le 17-07-2003 à 10:07:33  profilanswer
 

UDP protocole en mode non connecté (datagram) ex : quake (tu peux rejoindre une partie en cours)
 
-> HalfLife il est en tcp ...
 
je dirais que l'udp il faut se taper la gestion des paquets, alors que le tcp, non. tout depend ce qu'on veut faire, mais une bonne gestion des paquets tcp peut se montrer meilleur qu'utiliser du tcp.


---------------
-( BlackGoddess )-
n°459944
darklord
You're welcome
Posté le 17-07-2003 à 10:08:58  profilanswer
 

BlackGoddess a écrit :

UDP protocole en mode non connecté (datagram) ex : quake (tu peux rejoindre une partie en cours)
 
-> HalfLife il est en tcp ...
 
je dirais que l'udp il faut se taper la gestion des paquets, alors que le tcp, non. tout depend ce qu'on veut faire, mais une bonne gestion des paquets tcp peut se montrer meilleur qu'utiliser du tcp.


 
une guerre de retard. Ca a déjà été dit ;)


---------------
Just because you feel good does not make you right
n°460091
ceyquem
E falso sequitur quodlibet
Posté le 17-07-2003 à 12:00:33  profilanswer
 

BlackGoddess a écrit :

UDP protocole en mode non connecté (datagram) ex : quake (tu peux rejoindre une partie en cours)
 
-> HalfLife il est en tcp ...
 
je dirais que l'udp il faut se taper la gestion des paquets, alors que le tcp, non. tout depend ce qu'on veut faire, mais une bonne gestion des paquets tcp peut se montrer meilleur qu'utiliser du tcp.


 
ràv


Message édité par ceyquem le 17-07-2003 à 12:03:02
n°460347
Kristoph
Posté le 17-07-2003 à 15:01:43  profilanswer
 

UDP : protocole qui peut perdre des paquets. C'est là le principal interet pour les jeux. Typiquement, on parle ici des paquets de mise à jour de position qui ont cette tête là :
 
( au temps T0, l'objet O est à la position P )
 
Si tu perds le paquet et que TCP le renvoye 2 secondes plus tard, l'information fournie est dépassée de tt façon.

n°460364
darklord
You're welcome
Posté le 17-07-2003 à 15:09:53  profilanswer
 


 
ca aussi ca a été dit. Vous lisez les topics un peu avant de répondre?


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  'TCP/IP' - vs - 'UDP' c'est quoi la difference ?

 

Sujets relatifs
[Newbie] Différence fentre dos / command Ms Dosquestion de newbie: c'est quoi la différence entre ...
[php] Différence entre include et require ?[C] Socket UDP connaitre le port source ???
[C++] Socket UDP - Pb Reception du datagramme[socket TCP] gestion de la deconnexion d1 client telnet
[JAVA][RESEAU]Problèmes sockets TCP/IPdifference entre un StringBuffer et une String
Différence entre MySQL et MySQL MAX ?[JAVA] Socket UDP et InputStream, probleme de read
Plus de sujets relatifs à : 'TCP/IP' - vs - 'UDP' c'est quoi la difference ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR