писатель:
socket.setSendBufferSize(1);
socket.setTcpNoDelay(true);
writer = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream(), "UTF-8"));
используется следующим образом:
try {
writer.write(packet.toXML());
writer.flush();
...
}
catch (Exception ioe){
if (!done) {
done = true;
...
}
}
Это код на стороне клиента. Когда его сервер отключает сокет (также java-код), почему клиент бросает только через 5-10 минут? Разве он не должен срабатывать при первой попытке записи через мертвое соединение?
Спасибо
Изменить:
после выключения сервера, вот состояния TCP:
tcp 0 0 server:443 client:50283 FIN_WAIT2
tcp4 0 0 cient.50283 server.443 CLOSE_WAIT
Edit2:
клиент является приложение для Android. Сбегал с телефона, второй записанный пакет вызывает бросок. Выполняется из эмулятора (Mac внизу), четвертая запись () выбрасывает.