Recv non bloquant

ingimy -  
 zmbongo -
Bonjour,
je veut savoir comment rendre mon recv non bloquant en languange c
merci
Configuration: Windows XP
Firefox 3.0.10

3 réponses

  1. fiddy Messages postés 441 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
  2. 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
  3. 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