Buonasera a tutti,
sto creando un'applicazione java dove devo gestire la disconnessione utenti.
Il mio problema è che l'evento di disconnessione "non arriva" perché sono ferma su una read...
Ecco il codice:

codice:
public class ThreadDisconnessioneClient extends Thread {
	private GuiPrivatoClient guiClient;
	private Socket stato;
	BufferedReader in;
	PrintWriter out;
	String esito;
	private ClientMain client;
	private boolean disconnetti;
	
	public ThreadDisconnessioneClient(GuiPrivatoClient gui, Socket s, ClientMain cm){
		guiClient = gui;
		stato = s;
		client = cm;
		disconnetti = client.terminaChiamata;
	}
	
	public void run(){
		System.out.println("ho avviato thread disconnessione client");
		while(disconnetti == false){
			try {
				in = new BufferedReader(new InputStreamReader(stato.getInputStream()));

				esito = in.readLine(); //ECCO, E' QUI AD ASPETTARE UNA EVENTUALE 
DISCONNESSIONE DEL CLIENT E NON SI ACCORGE DELLA PROPRIA

			} catch (IOException e) {
				e.printStackTrace();
			}
			System.out.print("DisconnessioneClient: ho letto "+esito);
			if (esito.equals("quit"));
			guiClient.mostraChiudi();
			disconnetti = client.terminaChiamata;
		}
		try {
			System.out.println("DisconnessioneClient stampa quit");
			out = new PrintWriter(stato.getOutputStream());
			out.write("quit");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
Ho letto su altri forum che dovrei usare al posto della read una select() con un timeout ma non ho capito come fare...
Qualcuno sa aiutarmi?? grazie mille!!