Originariamente inviato da Nitro_Insane
anbin aspetta aspetta non confondermi ancora più le idee io pensavo di stare facendo bene in quel modo, quale sarebbe quindi il modo giusto da fare?? Nessuno me lo ha mai spiegato..
I punti sono 2:
1) dall'altra parte (il readLine nel server) si aspetta una "riga", intesa come un testo con in coda un "newline" (fortunatamente readLine è di "bocca buona", accetta qualunque newline, CR o LF oppure CR+LF). Quindi è chiaro che devi inviare tu un newline. Leggendo dallo standard-input con readLine ha la riga letta escluso il newline.
Quindi dovresti fare es.
outToServer.write(stringaLettaDaStdIn);
outToServer.write("\n");

o eventualmente concatenando le due stringhe (anche se forse è meglio fare 2 write separate).

2) Il fatto che usi BufferedWriter non vuol dire che una write fa davvero scrivere sul output stream sottostante! Per essere certi dovresti fare un flush().

O in alternativa per combinare newline+flush, potresti usare un PrintWriter (nota: creato con auto-flush a true) e il suo println(). Così con quest'ultimo non solo scrivi un newline ma fai anche un flush. L'unico "difetto" è che il println usa il newline della piattaforma su cui gira ... ma dal momento che poi usi readLine, qualunque newline è accettato.