Tutta la gestione del server devi farla in un thread separato. E se dalla parte di gestione della comunicazione devi "passare" qualcosa al resto della applicazione (che usa Swing, giusto?) devi farlo con una certa attenzione, per le solite questioni del "threading" in Swing.Originariamente inviato da Aleb
come faccio a tenere in ascolto il server e comunque usare la mia applicazione? ho inserito server.starserver(); e la mia applicazione di defalult si blocca finchè non arriva qualcosa da un client.
L'ho detto prima: hai fatto un server "sequenziale", è in grado di "servire" solo 1 client per volta. Finito di servire un client, ritorna in quel ciclo e con la accept() può accettare un'altra connessione.Originariamente inviato da Aleb
Inoltre dopo la prima stringa che arriva dal client, non riesco ad inviare altro dallo stesso client (presumo sia perchè il server non è + in ascolto).
In teoria, un server dovrebbe sempre continuare ad accettare connessioni fino alla fine (ovvio) della applicazione. Quel test nel while (i < MAX_CONNECTION) lo trovo fuori luogo .... dopo tot connessioni il ServerSocket viene chiuso .... e che ti serve??
E visto che in ServiziClient() fai un ciclo continuo di lettura di righe e dato che non termina mai di sua spontanea volontà (perché non hai ideato un "protocollo" che permetta al server di capire quando terminare), per uscire dal servizio è il client che deve chiudere la connessione.