Ripeto, in caso il post si è perso tra le mille linee di codice
1. Perchè inizializi gui con new LudecaLogInServerGUI(); se poi la setti nel costruttore?
2. ArrayList<Operatore> listaOperatori: Ogni therad avrà una sua lista. Se due client fanno il login ci saranno due thread con ognuno una listaOperatori di dimensione 1, che poi vai a scrivere nella Jtable
PS: Se non ha capito male, la tua intenzione è quella che un client si connette al server, fa il login è poi la connessione si chiude,giusto ? non viene mantenuta la connessione fino a chiusura del client
PS Non vorrei dire una stupidaggine, ma se fai
A cosa serve creare i thread, se poi con join blocchi tutto in attesa che il thread termini?codice:while(true){ try { ... serverThread.start(); serverThread.join(); socket.close(); }catch{...} }
Il join dovresti farlo appena prima che il main thread termini, in modo da assicurarti che tutti i thread figli ancora attivi terminino correttamente rilasciando le eventuali risorse