| Предыдущий | Следующий |
| EOPNOTSUPP | EOTHER |
ECONNRESET
Удалённая сторона сбросила существующее соединение
ECONNRESET является ошибкой установленного соединения. Solaris описывает соединение, принудительно закрытое удалённой стороной, часто после удалённого тайм-аута или перезагрузки. TCP определяет обработку сброса как конкретное событие состояния соединения; сброс отличается от корректного закрытия с концом потока.
Операция, сообщившая errno, может быть только точкой, где локальный стек увидел сброс. Удалённое событие могло предшествовать неудачному read или write, поэтому журналы приложения должны включать более ранние запросы, ответы и интервалы простоя, а не считать последний вызов причиной.
Диагностика сброса
- Запишите, был ли сброс обнаружен при отправке, получении или после периода простоя, и сохраните адрес удалённой стороны.
- Сопоставьте журналы перезапуска сервера, тайм-аутов, нарушений протокола и балансировщика нагрузки с тем же соединением.
- Не переподключайтесь и не повторяйте неидемпотентный запрос вслепую, если приложение не знает, обработала ли его удалённая сторона до сброса.
Ссылки
- Oracle Solaris: каталог errno intro(2)
- RFC 9293: состояния TCP-соединения и семантика сброса
- POSIX: условия ошибок connect()
Нужно найти другой код? Найти другой код состояния или ошибки.