Recv non bloquant

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. Contributeur
    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
    1. 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
      1. 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