Bonjour,

J'ai un petit problème avec un client et serveur en c++ voici les partit du code

Client receive :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
         char * bufferR = (char*)calloc(_BUFFERLEN_,sizeof(char));
          nbByteRecv=SOCKET_ERROR;
    do
    {
        strcpy(bufferR,"");
        nbByteRecv= recv(socketClient,bufferR,_BUFFERLEN_,0);  
        cout<<">"<<bufferR<<"--"<<nbByteRecv<<endl;  
 
    }while (nbByteRecv != SOCKET_ERROR); 
    cout <<"fin receive !!!!!!"<<WSAGetLastError()<<endl;
Serveur qui recoi et renvoi
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
 
do 
{
     strcpy(buffer1,"");
    nbByteRecvSend = recv(param->sock,buffer1,_BUFFERLEN_,0);  
    cout<<buffer1<<" - "<<nbByteRecvSend<<endl;
 
    if (nbByteRecvSend != SOCKET_ERROR)
    {
      for (int i = 0 ; i < 3 ; i++)
      {           
nbByteRecvSend =send(listeClient[i].socketClient,buffer1,nbByteRecvSend,0); 
             cout<<"nbbyte --------"<<nbByteRecvSend<<endl;
      }//fin for
    }//fin if nbbyterecv
 
  }while (nbByteRecvSend != SOCKET_ERROR);
Le problème est :
client envoi : AAAAA
Serveur recoi et renvoi : AAAAA
Client envoi : BB
Serveur recoi : BB mais affiche BBAAA et indique qui a recu que 2 octets
Serveur renvoi : AABB

Donc je n'arrive pas a trouver ou est ce que le data superflu est gardé. Je crois que ce qui est envoyé est correct, c'est plutôt à la réception que ca se passe.
Si quelqu'un a une idée , et si ce n'est pas suffisament claire, juste a le dire.
Merci