Buffer des sockets [Résolu]

Signaler
Messages postés
93
Date d'inscription
vendredi 27 février 2004
Statut
Membre
Dernière intervention
30 mai 2005
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
Bonjour j'aimerai envoyer plusieur requetes avec les,sockets.
Mais je pense ke g ptit pwoblem avec mon, tampon..
Il y a un moyen de pouvoir effacer,cki y a dans mon tampon,svp!!!
j'aimerai faire ceci:

connect(sd1,(SOCKADDR*)&sinDistant,sizeof(SOCKADDR_IN));
send(sd1,requete[i],strlen(requete[i]),0);
recv(sd1,tampon2,15,0);
printf("%s",tampon2);

connect(sd2,(SOCKADDR*)&sinDistant,sizeof(SOCKADDR_IN));
send(sd2,requete[1],strlen(requete[1]),0);
recv(sd2,tampon2,2,0);
printf("%s",tampon2); //Ici au lieu de m'afficher 2,carctere,il maffiche cki avait dans mon premeir tampon

kelkun peut ti maider

CASPER

4 réponses

Messages postés
93
Date d'inscription
vendredi 27 février 2004
Statut
Membre
Dernière intervention
30 mai 2005

G UN AUTRE SOUCI:
connect(sd1,(SOCKADDR*)&sinDistant,sizeof(SOCKADDR_IN));
send(sd1,requete[i],strlen(requete[i]),0);
recv(sd1,tampon2,250,0);tampon2[250]='\0';
printf("%s",tampon2); //m'afiche bien les 250 caractere

send(sd1,requete[i],strlen(requete[i]),0);
recv(sd1,tampon2,2,0);tampon2[2]='\0';
printf("%s",tampon2); // m'afichie bien deux caractere,mais pa ceux ki suivent ma premiere requete!!!

kelkun aurait une explication svp!!
CASPER
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
%s affiche une chaîne C terminé par un carctaères nul (0).
=> il faut l'ajouter à la fin du tampon sinon il affichera tout jusqu'au premier 0 trouvé.
tampon2[2] = 0;

(la même chose est à faire pour le premier affichage)
Messages postés
93
Date d'inscription
vendredi 27 février 2004
Statut
Membre
Dernière intervention
30 mai 2005

mercie
CASPER
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
tampon2[2]='\0';
printf("%s",tampon2); // m'afichie bien deux caractere,mais pa ceux ki suivent ma premiere requete!!!

=> c'est normal que tu n'ai que 2 caractères car tu tronque la chaîne. c'est ça que tu voulais au départ ou j'ai pas compris la question...