Salut tout le monde,
Alors je suis confronté à un tout petit soucis :
Jusqu'ici, tout se passe bien, ça quitte bien lorsque tbuf (valeur renvoyer par la fonction recv = 0)
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);
Le soucis, c'est que pour la suite de mon programme, j'envoie à nouveau un autre message :
suivi du notre pour recevoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char* msg2="ça va ?"; send(sock,msg2,strlen(msg2),0)
Seulement, il ne reçoit rien car tbuf = 0 et il ne change pas...
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);
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![]()
Partager