Salut a tous,
Actuellement l'IHM de commande en winform C++/CLI pour mon projet marche nickel, le seul problème arrive quand je doit fermer mon application, a ce moment le thread démon (un thread pour surveiller la réception de message) se ferme mal et provoque donc un thread zombie (thread qui continue de consommer les ressources de l'ordinateur alors que son process est fermer).
Pour plus de précision mon Thread possède une boucle while avec un booléen, dans cette fonction j'ai la réception d'un message d'une socket et donc cela bloque sur cet instruction. (pour la socket je suis ici le client)
Je peut donc essayer d'intervenir a plusieurs niveau quand j'appelle la fonction de fermeture de la winform:
- Fermer la socket puis le thread
- mettre un time-out sur la socket
- envoyer un message depuis le client sur la socket sortir de la boucle
J'ai déjà essayer la première solution et je ne l'ai pas réussit...
Je ne vois pas contre pas comment pas comment générer un time-out sur une réception de message ni comment envoyer un message à la socket client depuis le client....
La seul solution viable que je verrais serais d'envoyer au serveur que je veut partir et qu'il m’envoie une instruction pour pouvoir quitter l'instruction bloquante en passant le booléen à false, mais cela ne marcherais alors que dans le cas ou le serveur est encore connecter...
Partager