Originariamente inviato da anx721
e perche gli fai chiudere la connessione al primo thread?
Il primo thread esegue un ciclo while(true) di questo tipo:

codice:
while (true)
        {
            try
            { 
                //Non setto nessun timeout perche' il mio compito e' soltanto quello di attendere connessioni in entrata
                incoming = ss.accept();//Chiamata bloccante
            }
            catch(IOException e)
            {
                System.out.println("Taxi Reservation Handler " + tm.getTaxiName() + "> errore durante la ricezione di prenotazioni sul server socket.");
                continue;//Passo alla prenotazione successiva
            }
            ....
            ....
            //Qui utilizzo gli stream di I/O ottenuti dal socket
            //Creo un oggetto Received formato dalla stringa ricevuta
            //e dallo stream di output (Un PrintWriter)
       }
Il socket non lo chiudo esplicitamente e nemmeno il PrinWriter. Pero' quando torno a fare la accept() per attendere lo stabilirsi di una nuova connessione temo che il socket (E di conseguenza gli stream di i/o) venga chiuso "automaticamente".