Ho un'applicazione Java. Cerco di realizzare chat con multiplayer TCP protocollo, ma ho un problema. Non riesco a visualizzare tutti i messaggi che ottengo sul livello client (il livello del server funziona perfettamente) , perché fornisco un input all'utente e creo un thread per leggere i messaggi dal client TCP , quindi
<Scanner object>.nextLine();
Sta bloccando un'uscita della mia app. Posso creare con Swing , ma non l'ho ancora compreso appieno.
Ho due opzioni:
- Emette tutti i nuovi messaggi dalla coda dopo aver inviato un messaggio per utente.
- In qualche modo scollega input e output.
Penso che non sia necessario spiegare che nella prima opzione se l'utente uscirà per un lungo periodo, dovrà inviare un messaggio prima di ricevere tutti questi nuovi messaggi.
Rimane solo la seconda opzione. Ho bisogno di detach input e output e ho scoperto che in alcuni "task interattivi" ci sono due console - prima usate per input , altre - per output . Ma posso farlo in un Java? E se posso, come?