Bonjour à tous,

Voici mon problème, j'appelle la fonction recvfrom, qui est censé renvoyer -1 quand il n'y a pas de reception.

Voici ce que je recoi :
connexion effectuee
le bind retourne:0
valr=0
l'envoi s'est bien deroule
la fonction sendto retourne:30
en attente
on est avant le recvfrom
on est apres le recvfrom
nbrecu=-1
pas de reception
les donnees du Buffer de reception sont:
8:20050529,20050606,20050603,20050615,20050531,20050530,20060403,20060404
FIN
Les données recu sont bien celle qu'à envoyé le serveur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
printf("on est avant le recvfrom\n");
//réception des données
nbRecu = recvfrom(SockClt,BufRecept, nbcar, 0, (struct sockaddr *)&AdrServR, &lgAdr) ;
 
printf("on est apres le recvfrom\n");
printf("nbrecu=%d\n",nbRecu);
 
if(nbRecu==-1)
{
  printf("pas de reception\n");
  printf("les donnees du Buffer de reception sont:%s\n",BufRecept);
  retour=-1;
}else
{
  printf("la reception a ete effectue\n");
  printf("les donnees du Buffer de reception sont:%s\n",BufRecept);
  printf("la fonction recvfrom retourne:%d\n",nbRecu);		
}
Quequ'un pourrais m'expliquer ?

Merci d'avance