Здравствуйте, Alexandr.Martynov, Вы писали:
AM>в том-то и дело что ошибок никаких не выскакивает, а вот в момент вызова функции read все зависает
AM>AM>...
AM>sock.setSoTimeout(0);
AM>...
AM>InputStream in = sock.getInputStream();
AM>byte[] c = new byte[1];
AM>in.read(c); //дальше программа не выполняется и текст "Done." на экран не выводится.
AM>System.out.println("Done.");
AM>
AM>in.available(); всегда возвращает 0.
AM>собственно поэтому и хочу узнать а было ли что-то записано.
AM>P.S. никакой возможно посмотреть что творится на сервере у меня нет
То что "зависает" на методе read говорит только о том что в твоем InputStream ничего нет, т.е. сервер ничего тебе не посылает.
Саиый простой способ протестировать твой сокет — создать локально(на своей же машине или на какой то машине во внутренней сети) свой сервер и отладить работу сокетов на нем.
Еще такое соображение. Насколько я помню, если сокет "отваливается" на стороне сервера, то клиент не уведомляется. Он будет благополучно висеть в своем треде на методе read и ждать ответа. Я выходил из подобной ситуации таким образом — устанавливал время тайм аута sock.setSoTimeout(nt); и через промежутки времени меньше nt посылал контрольный сигнал. если в течение установленного времени ответа на контрольный сигнал не было — закрывал сокет у клиента и устанавливал новое соединение.