Maxim Karvonenспасибо за такой подробный ответ! теперь я всё понял

BufferedReader это я уже написал, вообще сначала хотел делать DataInputStream.readLine, но оказалось deprecated зато любезно предоставили строчку для копипейста с буфередридером, ну я собственно и копипейстнул
Кстати, Вы уверены, что строку нужно выводить через DataOutputStream.writeUTF а читать с помощью BufferedReader.readLine()? Или пара лишних символов в начале строки Вам нужна?Нет, конечно так не должно быть, просто пока хотелось проверить что что-то работает, не особо задумываясь о мелочах

Та часть кода которая совсем срашная не мной написано
а может assertNotNull должен стоять до if(kkk.length()>0)...? А то в случае kkk==null до assert'а дело не дойдет.да нет ассерт стоит там где нужно, хотелось просто чтобы тест обломался а сообщение об ошибке я юзаю как дебагинформайшн

вот break там не к чему конечно
Добавление от 11.12.2006 15:06:
ещё один вопрос.
в общем я стал использовать DataInputStream.readFully, но он
This method blocks until one of the following conditions occurs:
* b.length bytes of input data are available, in which case a normal return is made.
А как бы мне так проще всего сделать чтобы если например в течении нескольких секунд не прочиталось, то чтобы он вывалился, с возможностью задиагностировать что вывалился именно по таймауту?