bonjour,
je fais un programme client/serveur en mode connecté TCP et mon serveur envoi deux messages au client (send()). Le probleme est que mon serveur en recoit qu'un qui concatène les deux. Si dans le serveur je fais un wait(1000) alors le client en reçoit bien 2. Comment éviter le wait()? faut-il faire quelque chose apres un send ou avant un recv?
merci
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 void send_to(int * sock, char * b){ int len = 0; char buff[MAX+1]; printf(b); while(b[len]){ buff[len] = b[len]; len ++; } buff[len] = '\0'; if(send(*sock, buff, strlen(buff), 0) < 0){ perror("Serveur->Send_client->error"); } } void recv_msg(int * sock, char * msg){ int n; if((n = recv(*sock, msg, MAX, 0)) < 0){ perror("Recv_msg->recv error"); msg[0] = 0; } msg[n]='\0'; printf("%s", msg); }
Partager