Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ho realizzato una chat client/server che sfrutta il multithreading. Volevo inserire un controllo sul numero di utenti connessi, ma ho un problema. Facendo varie prove usando Telnet, ho avuto questi risultati:
1. Faccio partire il server sulla macchina 1 (non anche il client, altrimenti mi dice che la porta 8089 è già in uso): l'invio e la ricezione dei messaggi funziona correttamente, compreso il conteggio del numero degli utenti.
2. Faccio partire il server sulla macchina 1 e il client sulla macchina 2. Appena il client si collega al server, mi viene chiesto di inserire il nickname. Fatto anche questo, lo scambio dei messaggi funziona correttamente ma il server individua 2 utenti connessi: il primo, chiamato "null" ed il secondo, col nome effettivo che inserisco dalla console di Telnet.
magari un'indicazione sull'eccezione sollevata o sulla riga incriminata farebbe comodo
Purtroppo (o per fortuna) non vengono generate eccezioni. La parte incriminata del programma sembrerebbe essere quella sul client, quindi le classi Client e ClientInputOutput. - MagoAntò - 27/10/11 17:03
Aggiornamento: sono riuscito a risolvere e a completare il programma. - MagoAntò - 28/10/11 19:50
In pratica, il mio errore era far partire il client (che già veniva contato come una connessione) e, dopo, effettuare una seconda connessione da console Telnet. Vorrei postare il codice completo qui, magari può servire a qualcuno. Come faccio? - MagoAntò - 28/10/11 19:51