Recv non bloquant

ingimy -  
 zmbongo -
Bonjour,
je veut savoir comment rendre mon recv non bloquant en languange c
merci
A voir également:

3 réponses

fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Salut,

Le prototype est : ssize_t recv(int s, void *buf, size_t len, int flags);
tu mets flags à MSG_DONTWAIT (seulement à partir de Linux 2.2 et la fonction sera non bloquante.

Cdlt
3
Utilisateur anonyme
 
Bonjour,

La fonction ioctSocket permet de lever le blocage sur une socket en lui passant en dernier argument un entier différent de 0.

SOCKET s;
unsigned long ulMode = 1;
...
ioctlSocket( s, FIONBIO, &ulMode );

si on passe ulMode à 0, le mode blocant est restauré.
1
zmbongo
 
si tu veux un truc non bloquant, alors le te conseille d'appeler la fonction
(recv) dans un thread (différent du thread principal bien sur )
1