allora per farla breve ho un client e un server che comunicano attraverso socket e si scambiano stringhe di dati.
il server invia messaggi di risposta al client attraverso

esempio:
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(m_oWorkingSocket.getOutputStrea m()));
out.flush();

out.write("Benvenuto sul server!");
out.write("\n");
out.write("Messaggio ricevuto dal Server");
out.write("\n");
out.flush();

tutto qui da parte del server, il client esegue il while che ti ho inviato prima. la comunicazione avviene perfettamente per singole righe ma visto che a me serve poter leggere più righe girate dal server, ho implementato quel while, il problema è che resta appeso appena termina di leggere tutte le righe