Bonjour,
J'ai un petit problème avec un client et serveur en c++ voici les partit du code
Client receive :
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 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;
Le problème est :
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);
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
Partager