Bonjour à tous !
Je crée un serveur de socket.
J'ai donc un Thread qui "écoute" en quelques sorte le réseau à la recherche de nouveaux clients.
Lorsque je détecte un nouveau client, je crée un autre Thread chargé de dialoguer avec lui.
Voici le code (simplifié) de mon Thread d'écoute :
Je désire pouvoir arrêter ce thread. J'ai donc utililisé la méthode monThread.interrupt()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public ServerThread(){ start(); } public void run(){ try{ ServerSocket _ss = new ServerSocket(18000); if (interrupted()){ System.out.println("FIN"); } new ClientThread(_ss.accept()); }catch(Exception e){ } }
Le problème... Le thread bloque sur _ss.accept() puisqu'il attend de nouvelles connexions. Il ne vérifie donc jamais le bloc :
if (interrupted()){
}
Comment faire pour pouvoir arrêter ce Thread ?
Partager