Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de select sur socket

Sujet résolu
    7 mars 2008 à 10:06:22

    Bonjour

    Je développe une appli client-serveur.
    La connexion se fait, le dialogue se fait.

    Par contre, si je kille le server, le client ne s'en rend pas compte, et continue d'envoyer des données via sa socket.

    J'ai donc pensé à utiliser la fonction select, pour détecter la fermeture de la socket :

    1. timeval timeout;
    2. timeout.tv_sec = 0;
    3. timeout.tv_usec = 5000;
    4. fd_set set;
    5. FD_ZERO(&set);
    6. FD_SET(socketLocale, &set);
    7. int retour = select(socketLocale + 1, NULL, &set, NULL, &timeout);


    Problème : le select me renvoie "1" à chaque appel, même après le kill du serveur.

    Quelqu'un saurait-il me dire pourquoi, et surtout comment remédier à mon problème ? (même par une autre solution que le select)
    • Partager sur Facebook
    • Partager sur Twitter

    Problème de select sur socket

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown