Io utilizzo l'operazione di lettura readLine() e non mi genera alcuna eccezione.
Mi spiego meglio:
codice:
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(clientSock.getInputStream()));
String tmp1 = in.readLine();
String tmp2 = in.readLine();
} catch (SocketTimeoutException ste) {
out.println("Connection die for timeout.");
stopRunning();
} catch(SocketException se){ // anche se readLine() dichiara di generare IOException
System.out.println("Client disconnesso: " + se);
} catch (IOException ex) {
System.out.println("Altro: " + ex);
} finally {
try {
out.close();
in.close();
stopRunning();
} catch (IOException ex) {
Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
}
}
praticamente se disconnetto il client alla seconda readLine() l'esecuzione passa direttamente al blocco finally.
Dovrei forse utilizzare qualche altro metodo per la lettura? Dichiarato in qualche altro modo?
PS: Scusa per il mancato titolo, l'avevo lasciato da riempire e poi me ne sono scordato.
Sempre grazie.