Tout est dans le titre, j'arrive pas a faire de mon socket, un socket non bloquant, voici le code de la fonction pour recevoir le message du serveur.
La variable readfds etant de type fd_set
La variable socket est de type SOCKET est bien initialisé car j'arrive a recevoir des messages quand j'en envoie
Lorsque je lance cette fonction dans une boucle, la boucle se bloque si le serveur aucun message n'est reçu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int Server::recevoir_message() { message = new char[1024]; int result = 0; FD_ZERO(&readfds); FD_SET(socket,&readfds); select(0,&readfds,0,0,NULL); if(FD_ISSET(socket, &readfds)) { result = recv ( socket, message , 1024 , 0 ) ; } return result; }
Apparemment le bloquage se fait au niveau du select d'apres mes tests.
Si vous pouvez eclairer ma lanterne ca serait sympa ! Merci d'avance.
Partager