Bonjour,
J'ai ecris un petit client/serveur TCP qui transmettait des données depuis le serveur jusqu'au client et uniquement dans ce sens.
Je souhaite maintenant pouvoir envoyer et recevoir des deux cotés, le tout via des threads. Pour le moment, je m'occupe de threader la fonction de reception coté client.
Mon probleme est le suivant, le thread arrive bien à se lancer, toutefois lorsqu'il souhaite récupérer des infos via recv, celui -ci se termine immédiatement et retourne dans le thread principal.
Voila quelques extraits de mon code :
du coté de mon main
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 int Reception(int sock_client) { int nbr_char; char buffer[65355]; int cpt = 0; for(cpt=0;cpt<6;cpt++){ printf("test2: %d\n",cpt); if((nbr_char=recv(sock_client,buffer,65355,0))==-1) {perror("recv");exit(1);} else{ buffer[nbr_char]='\0'; printf("%s \n",buffer); } } return 2; }
Merci de votre aide et de votre temps
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int main() { phread_t thread1; ...... pthread_create(&thread1,NULL,Reception,(int) sockfd) printf("quit\n"); close (sockfd); .... }
Partager