Salut,
J'ai une question th�orique � vous poser :
Pour recevoir une chaine char* avec les sockets on utilise :
recv(SOCKET, char* , int, int);
Je voudrait savoir ce qui se passe si la taille indiqu�e (3�me param�tre) d�passe la taille de la chaine qui se trouve dans le tampon de reception.
Est ce que dans ce cas �a ne peut pas recup�rer une partie de la chaine suivante
: Ou est ce que la fonction recv() arr�te de recevoir les carct�res lorsqu'elle rencontre un 0 (caract�re nul).
Par exemple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| send(csock,"coucou!!",9,0); //envoi de la chaine1
send(csock,"ça va?",7,0); //envoi de la chaine2
//la reception se fait une fois que les 2 chaines ont été envoyées
recv(sock,buffer,11,0); //le buffer reçoit :
// "coucou!!\0ça"
// "coucou!!\0(+2caractères quelconque)"
// ou juste "coucou!!\0" ???
recv(sock,buffer,7,0); //le buffer reçoit :
//la suite de la chaine2 (" va?\0(+2caractères quelconque)"
//" va?"
// ou juste "ça va?" ??? |
Merci de r�pondre a mes questions
Partager