java.net. SocketException: Соединение сбрасывается

114
задан bluish 6 November 2012 в 09:25
поделиться

2 ответа

Сброс соединения просто означает, что TCP RST был получен. Это происходит, когда Ваша коллега получает данные, которые это не может обработать, и могут быть различные причины этого.

самое простое - когда Вы закрываете сокет, и затем пишете больше данных по потоку вывода. Путем закрытия сокета Вы сказали Вашей коллеге, что сделаны, говоря, и он может забыть о Вашем соединении. Когда Вы отправляете больше данных по тому потоку так или иначе, одноранговый узел отклоняет его с RST, чтобы сообщить, что это не слушает.

В других случаях, прошедшем брандмауэре или даже сам удаленный хост мог бы "забыть" о Вашем соединении TCP. Это могло произойти, если Вы не отправляете данных в течение долгого времени (2 часа общий тайм-аут), или потому что одноранговый узел был перезагружен и потерял его информацию об активных соединениях. Отправка данных по одному из этих более не существующих соединений вызовет RST также.

<час>

Обновление в ответ на дополнительную информацию:

Внимательно изучают Вашу обработку SocketTimeoutException. Это исключение повышено, если настроенный тайм-аут превышен, в то время как заблокировано на эксплуатации сокета. Состояние самого сокета не изменяется, когда это исключение выдается, но если Ваш обработчик исключений закроет сокет, и затем попытается записать в него, Вы будете в условии сброса соединения. setSoTimeout() предназначен, чтобы дать Вам очевидный способ для убегания read() операция, которая могла бы иначе заблокироваться навсегда, не делая грязных вещей как закрытие сокета от другого потока.

44
ответ дан erickson 24 November 2019 в 02:35
поделиться

Каждый раз, когда у меня были нечетные проблемы как это, я обычно сажусь с инструментом как WireShark и смотрю на необработанные данные, передаваемые назад и вперед. Вы могли бы быть удивлены, где вещи разъединяются, и Вы только , уведомил , когда Вы пытаетесь читать.

16
ответ дан GEOCHET 24 November 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: