すいません、教えてください。

s = new Socket(host, port);
reader = new BufferedReader(new InputStreamReader(s.getInputStream()));
writer = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

writer.write("hoge"); writer.flush();
while (true) {
String line = reader.readLine();
if ( line == null ){break;} mes += line;
}
writer.write("hogehoge"); writer.flush();
while (true) {
String line = reader.readLine();
if ( line == null ){break;} mes += line;
}

のような、Streamで双方向に通信させたいのですが、
2回目のwriter.flush()を行っても、パケットキャプチャで見ると
hogehogeが送信されず、当然応答も来ないため2回目の受信ループの
readLine()で永遠にとまってしまいます。
解決方法ご存知の方教えてください。