Bonjour,
j'ai une application C# qui permet de se connecter à un serveur (connexion FTP) pour télécharger des fichiers.
Dans mon programme j'ai isolé les fonctions CONNEXION TELECHARGEMENT et DECONNEXION.
Pour une gestion plus sûre, chaque fonction est lancée dans un thread. Par exemple lors de la connexion, le thread Thread_Connexion() s'éxecute. Si la connexion est réussie ou si une erreur de connexion apparait alors mon thread se termine normalement.
Mon souci est qu'à un moment, dans le thread connexion, je perds la main. Dans mon Thread_Connexion il y a un laps de temps où le programme attend de voir si le système arrive à se connecter (reste dans la fonction "socket.connect()"). Si pendant ce laps de temps l'utilisateur veux fermer l'appli je ne peux pas terminer ou tuer mon thread tant que le système n'a pas répondu à la demande de connexion.
Si maintenant un bug apparaît et que ma fonction connexion reste bloquée (système non connecté et aucune erreur de connexion remontée) alors je ne peux plus fermer mon thread.
Quelqu'un aurait-il une solution ou une piste à me proposer ?
Merci.
Partager