Probleme d'envois multiples en TCP
Bonjour!
J'espere etre au bon endroit dans le forum pour ce post :?
Voila mon probleme :
Je suis en train de mettre en place un systeme client-serveur TCP en C++ avec socket.h
Pourtant j'ai un soucis lorque je veux envoyer plusieurs données à la suite.
J'ai surchagé les opérateurs << et >> pour clarifier les envois (respectivement send() et recv()).
Exemple client :
Code:
1 2 3 4 5
|
client_socket << 2; //J'envoie 2à travers le socket client vers le serveur
//client_socket >> reply; //Je recois un string de la part du serveur
//cout << reply <<endl;
client_socket << 8; |
Et le pendant coté serveur :
Code:
1 2 3 4 5 6 7 8
|
new_sock >> menu; //Je recois un int du client
cout << menu <<endl;
//new_sock << "Ok..."; //J'envoie un string au client
new_sock >> nb;
cout << "Recu pour le menu : " << menu <<endl;
cout << "Recu comme nombre : " << nb <<endl; |
J'espere que l'ecriture avec les operateur de flux est compréhensible
Le soucis, coté serveur (je repete les instructions vues plus haut) :
Lors du premier transfert, menu=2 et nb = 8 tout va bien
Lors du 2e transfert menu=28 et nb est toujours attendu
En enlevant les commentaires tout marche mais je ne peux me resoudre à faire un retour a chaque envoi...
Y a t il un probleme de buffer?
J'espere que quelqu'un pourra m'aider, merci d'avance