Buffer des sockets

Résolu
casper_2 Messages postés 93 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 30 mai 2005 - 18 janv. 2005 à 12:18
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 18 janv. 2005 à 14:36
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

casper_2 Messages postés 93 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 30 mai 2005
18 janv. 2005 à 13:46
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
3
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 janv. 2005 à 12:56
%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)
0
casper_2 Messages postés 93 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 30 mai 2005
18 janv. 2005 à 13:28
mercie
CASPER
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 janv. 2005 à 14:36
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...
0
Rejoignez-nous