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

  FORUM HardWare.fr
  Programmation
  C

  Réception de données en UDP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Réception de données en UDP

n°1233792
souliane
Posté le 28-10-2005 à 18:36:08  profilanswer
 

Bonjour, y'a un truc que j'ai pas bien compris avec les sockets en C. Pour faciliter les notations je simplifie déjà les primitives d'envoi/reception de tel sorte que le seul argument qui y figure soit le nombre d'octets que l'on envoie/réceptionne...
 
Quand je fais un sendto(N) à quelqu'un (on est en UDP), pour le recevoir correctement faut il qu'il fasse un receivefrom(N) en un seul coup ?
Ou bien peut-il fait un premier receivefrom(X) avec X < N, faire un traitement, puis un deuxième receivefrom(N-X) ?
 
En fait, ce serait pour pouvoir envoyer des paquets de taille variable. Je met en entete la taille du paquet, le receveur recoie donc d'abord l'entete puis ensuite il sait combien d'octets il doit recevoir...
 
Il y a des risques de pertes de paquets en UDP, existe t'il aussi des risques de perdre un morceau de paquet ?
 
Merci.

mood
Publicité
Posté le 28-10-2005 à 18:36:08  profilanswer
 

n°1233793
Taz
bisounours-codeur
Posté le 28-10-2005 à 18:38:32  profilanswer
 

UDP : paquet par paquet. Le paquet que tu reçois en C est intègre. Il y a des risques de ne pas recevoir tous les paquets ou de recevoir des paquets corrompus (détruits).

n°1233799
souliane
Posté le 28-10-2005 à 18:47:11  profilanswer
 

Et donc le système pour recevoir des paquets de tailles variables ne marche pas ?

n°1233806
souliane
Posté le 28-10-2005 à 18:52:23  profilanswer
 

Je tourne le problème dans l'autre sens : si j'essaie de recevoir un paquet de taille N et qu'il m'en arrive un de taille inférieur, est ce que je reste bloqué sur le receivefrom ou bien il me suffit de récupérer la bonne taille (comme on le ferait avec un read) ?

n°1233828
Taz
bisounours-codeur
Posté le 28-10-2005 à 19:44:13  profilanswer
 

la taille des paquets est bornée. Tu reçois un paquet, pas <N octets>. voir la page de man.


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

  Réception de données en UDP

 

Sujets relatifs
Problème d'enregistrement des données dans une classeSauver et Charger des données
extraction de méta données diversesUn forum, plusieurs bases de données
Récupérer le format des données[PHP] Connexion base de données
interface php et bases de données XMLProblème de suppression de données
[RESOLU] [FORMULAIRE] probleme de récup des donnéesPHP MySql, bases de données etc - comment faire ???
Plus de sujets relatifs à : Réception de données en UDP


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