Recvfrom erreur

Signaler
Messages postés
72
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
13 mai 2011
-
Messages postés
72
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
13 mai 2011
-
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

Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,
Comment as tu déclaré data ?
Pour le 0.0.0.0 c'est normal car INADDR_ANY est egal a 0.
Messages postés
72
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
13 mai 2011

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
Messages postés
72
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
13 mai 2011

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