Официальные причины для «программного обеспечения вызвало прерывание соединения: ошибка записи в сокет»

Учитывая этот фрагмент трассировки стека

Вызвано: java.net.SocketException: программное обеспечение вызвало прерывание соединения: ошибка записи в сокет

в java.net.SocketOutputStream.socketWrite0 (собственный метод)

Я пытался ответить на следующие вопросы:

Какой код выдает это исключение? (JVM? / Tomcat? / Мой код?)Что вызывает это исключение?

Относительно № 1:

Солнце'источник JVM нене может содержать это точное сообщение, но я думаю, что текстПрограммное обеспечение вызвало прерывание соединения: ошибка записи в сокет это из нативной реализации:SocketOutputStream

private native void socketWrite0(FileDescriptor fd, byte[] b, int off,
                 int len) throws IOException;

Относительно № 2

Я предполагаю, что это вызвано тем, что клиент разорвал соединение до получения полного ответа (например, отправил запрос, но до получения полного ответа он был закрыт / прекращен / отключен)

Вопросы:

Верны ли вышеизложенные предположения (№ 1 и № 2)?Можно ли это дифференцировать от ситуации:не удалось написать клиенту из-за ошибки сети насервер боковая сторона"? или это выдает то же сообщение об ошибке?И самое главное:Есть ли официальный документ (например, от Sun), подтверждающий вышесказанное?

Мне нужно иметь доказательство того, что эта трассировка стека является клиентом сокета "вина»и сервер ничего не мог бы сделать, чтобы этого избежать. (кроме перехвата исключения или использования не Sun JVM SocketOutputStream, хотя обадействительно избегать того факта, что клиент прекратил работу)

Ответы на вопрос(12)

Ваш ответ на вопрос