Salut!
J'ai un programme multifenetres et multithreads.
Dans un thread, j'ouvre une socket afin de recevoir des données en continu. Ce thread a été créé avec MonThread = CreateThread(NULL, 0, MaFonctionSockets, &MesDonnees, 0, NULL);
Quand l'utilisateur veut arreter l'écoute il appuie sur le bouton STOP.
Ce qui a pour effet de faire un TerminateThread(MonThread,0);
Le problème est que le thread était en écoute (recvfrom) sur le port lorsqu'il a été arrêté. Mais comme la fonction a été soudainement interrompue, la socket n'a pas été fermée avec closesocket(IdMonSocket);
Je remarque donc avec netstat que mon port est toujours ouvert meme après l'arret du thread.
Comment puis-je faire pour fermer proprement mon thread en fermant ma socket ?
Merci!
Partager