Salut,

J'ai une question th�orique � vous poser :

Pour recevoir une chaine char* avec les sockets on utilise :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
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 :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
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