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

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

Сообщение Anonymous »

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

Вызвано: java.net.SocketException:
Программное обеспечение вызвало прерывание соединения:
ошибка записи сокета
 at
java.net.SocketOutputStream.socketWrite0(Native
Method)

Я попытался ответить на следующие вопросы:
  • Какой код выдает это исключение? (JVM?/Tomcat?/Мой код?)
  • Что вызывает выдачу этого исключения?
Относительно № 1:
Исходный код JVM Sun не содержит этого точного сообщения, но я думаю, что текст

Программное обеспечение вызвало прерывание соединения: ошибка записи сокета

из собственной реализации SocketOutputStream:

Код: Выделить всё

private native void socketWrite0(FileDescriptor fd, byte[] b, int off,
int len) throws IOException;
Что касается № 2
Я предполагаю, что это вызвано тем, что клиент разорвал соединение до получения полного ответа (например, отправил запрос, но до получения полного ответа он был закрыт/прерван/оффлайн)
Вопросы:
  • Правильны ли приведенные выше предположения (#1 и #2)?
  • Можно ли это отличить от ситуации:
не удалось выполнить запись клиенту из-за сетевой ошибки на стороне сервера"

или это выдаст то же сообщение об ошибке?
  • И самое главное: Существует ли официальный документ (например, от Sun), подтверждающий вышеизложенное?
Мне нужно иметь доказательство того, что эта трассировка стека является «ошибкой» клиента сокета, и сервер не может ничего сделать, чтобы избежать этого (кроме перехвата исключения или использования потока SocketOutputStream, отличного от Sun JVM, хотя оба способа на самом деле не позволяют избежать факта завершения работы клиента)

Подробнее здесь: https://stackoverflow.com/questions/212 ... rite-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»