JAVA2222 ha scritto:
Ho risolto per l'output usando un PrintStream, ma per l'input cosa uso? C'è un corrispondente di PrintStream?
Se il "protocollo" di comunicazione è "a righe di testo", allora per leggere "righe" ci sono tecnicamente diversi modi: con BufferedReader o con Scanner. Ma essendo una comunicazione su socket e che può tecnicamente dare problemi sul I/O, meglio
BufferedReader.
E già che siamo in tema, è bene che affronti una questione, se non l'hai già fatto. Fino a quando usavi la "serializzazione" degli oggetti, se invii un String, ci pensa la serializzazione a generare tutto lo stream di byte appropriato per la stringa e non ti devi preoccupare di nulla altro sulla codifica.
Se invece su socket vai a scrivere/leggere tu "righe" di testo o comunque in generale sequenze di caratteri, allora DEVI preoccuparti del charset usato per la conversione char <-> byte.
E siccome client e server potrebbero stare su macchine differenti e quindi avere un charset di default differente, allora vuol dire in generale che in questi casi DEVI imporre tu un charset ben preciso per la codifica, altrimenti rischi problemi con i caratteri.
Generalmente/tipicamente si sceglie UTF-8 perché è compatto e non fa "perdere" nulla del Unicode.