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

  • Votes
  • Date
  • Date décroissante
  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
    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. 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 )