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