Bonjour,
Alors voilà, je suis sur un programme qui ecoute sur un socket et crée des thread de connexion dès qu'une connexion se présente.
Quand le client se déconnecte le thread qui était en communication ferme le socket avec un close puis termine. Les threads qui gèrent la connexion sont détaché du thread principal qui les a lancés (et c'est peut être ça le problème...).
Quand un client se déconnecte et se reconnecte le descripteur précedent qui a été fermé, est réouvert pour le nouveau socket mais quand le nouveau thread essaie de lire sur ce socket il obtient une erreur EBADF (mauvais descripteur de fichier).
si celui-ci se deconnecte et se reconnecte le même descripteur lui est réalloué et cette fois ci ça fonctionne.
Si vous avez une idée de ce qu'il se passe faites moi signe
Partager