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 } }...

Rispondi quotando
