Recvfrom erreur

cs_valoue Messages postés 72 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 13 mai 2011 - 2 juil. 2004 à 17:23
cs_valoue Messages postés 72 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 13 mai 2011 - 5 juil. 2004 à 09:13
Bonjour,

J'essaie de récupérer les données envoyées par un client en utilisant le protocole UDP (sous VC++).

je créé ma socket speciale UDP:

s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

je remplis une structure de type "struct sockaddr_in"

sins.sin_family = AF_INET;
sins.sin_port = htons(port);
sins.sin_addr.s_addr = htonl(INADDR_ANY);

et je evux recevoir des données:

int len = sizeof(sins);
if (recvfrom(s,data,sizeof(data),0,(struct sockaddr*)&sins,&len)==SOCKET_ERROR).....

Qd je compile, pas de pb. A l'execution, g une erreur (la memoire ne peut pas etre Written ...)
Je ne comprend spas pourkoi ..
Qd j'essaie de faire afficher sins.sin_addr, j'ai 0.0.0.0 !!!
Est ce normal ????

Je ne comprends pas cette erreur, auriez vous une idée ???
Avez vous dejà vu ce cas ??

Valoue

3 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
2 juil. 2004 à 18:37
Salut,
Comment as tu déclaré data ?
Pour le 0.0.0.0 c'est normal car INADDR_ANY est egal a 0.
0
cs_valoue Messages postés 72 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 13 mai 2011
5 juil. 2004 à 08:52
Salut,
merci beaucoup de m'avoir répondu.

La variable "data" est déclarée de la façon suivante:
char data [1024];

crois-tu que ça soit à cause de cela ???

Valoue
0
cs_valoue Messages postés 72 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 13 mai 2011
5 juil. 2004 à 09:13
C'est bon, g trouvé mon erreur.
En fait, la variable "len" etait restée à 0.
Le pb venait de là.
Desolée du derangement !
Merci bcp !
Valoue
0
Rejoignez-nous