Salve,
premetto che il programma in questione è solo per la scuola, quindi molto probabilmente è pieno di imperfezioni che nemmeno noto. Detto ciò, sto cercando di fare un'applicazione client-server in cui molteplici client possono chattare in gruppo, e quindi ogni messaggio passa per il server che lo inoltra a tutti.
Il mio problema è proprio nel server: dopo che faccio partire il primo thread per il primo client, non va più avanti continuando ad eseguirlo, eppure se provo a connettermi con un altro client si connette anche se ovviamente la chat non funziona perché il suo codice non viene eseguito.
Ecco qui il pezzo:
codice:
try{
            //Creazione del serverSocket con lettura da tastiera della porta
            streamSocket=new ServerSocket(getPort());


            //Creazione dell'ArrayList di threads
            threads=new ArrayList <ServerThread>();


            //Creazione e avvio del primo thread
            System.out.println("In attesa di connessione...");
            threads.add(new ServerThread(1, streamSocket.accept()));
            threads.get(0).start();
            ID=1;
//si ferma qui
            while(true){
                              if(threads.get(threads.size()-1).isConnected()){                    System.out.println("Creo nuovo thread");
                    threads.add(new ServerThread(ID++, streamSocket.accept()));
                    threads.get(threads.size()-1).start();
                    sendToAll(threads.size()-1, "Il client "+(ID-1)+" è entrato in chat.");
                }
                              //proseguimento chat
                        }
}...