Salut tout le monde,

Alors je suis confronté à un tout petit soucis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
char* msg="bonjour";
send(sock,msg,strlen(msg),0)
char buffer[1024]; int tbuf;
do
{
	tbuf=recv(sock,buffer,sizeof(buffer),0);
	if (tbuf==SOCKET_ERROR) 
	{
		cout << "Erreur lors de la reception des donnes" << endl;
		closesocket(sock);
		break;
	}	
}while (tbuf>0);
Jusqu'ici, tout se passe bien, ça quitte bien lorsque tbuf (valeur renvoyer par la fonction recv = 0)

Le soucis, c'est que pour la suite de mon programme, j'envoie à nouveau un autre message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
char* msg2="ça va ?";
send(sock,msg2,strlen(msg2),0)
suivi du notre pour recevoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
do
{
	tbuf=recv(sock,buffer,sizeof(buffer),0);
	if (tbuf==SOCKET_ERROR) 
	{
		cout << "Erreur lors de la reception des donnes" << endl;
		closesocket(sock);
		break;
	}	
}while (tbuf>0);
Seulement, il ne reçoit rien car tbuf = 0 et il ne change pas...

La seul "solution" que j'ai pu trouver pour le moment, c'est de créé un autre socket pour recevoir à nouveau...
Quelqu'un pourrait-il me proposer mieu ?

Merci d'avance