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 :

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){
 
		}
	}
Je désire pouvoir arrêter ce thread. J'ai donc utililisé la méthode monThread.interrupt()
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 ?