| Предыдущий | Следующий |
| ESHUTDOWN | ETOOMANYREFS |
ECONNRESET
Что означает ECONNRESET в Windows UCRT
ECONNRESET означает «Соединение сброшено удалённой стороной». Для условия «Соединение сброшено удалённой стороной» код ECONNRESET нужно связывать с первым возвратившим его вызовом и контекстом: сокет, локальный и удалённый адрес, семейство, протокол и состояние соединения.
Для условия «Соединение сброшено удалённой стороной» сначала установите канал ошибки: UCRT использует errno, Win32 API — GetLastError(), а Winsock — WSAGetLastError(); эти значения не взаимозаменяемы. Для ECONNRESET исходная английская страница также выделяет WSAECONNRESET, WSAGetLastError, errno, recv и UCRT; эти данные полезно записать вместе с return value, потоком и временем события.
Диагностика
- При ошибке «Соединение сброшено удалённой стороной» (Windows UCRT,
ECONNRESET) запишите полный local/remote sockaddr, address family, socket type, protocol и текущее состояние сокета. - При ошибке «Соединение сброшено удалённой стороной» (Windows UCRT,
ECONNRESET) разделяйте ошибки bind, connect, send и receive: одинаковый endpoint участвует в разных проверках. - При ошибке «Соединение сброшено удалённой стороной» (Windows UCRT,
ECONNRESET) для неблокирующего режима дождитесь документированного события готовности и затем получите окончательный результат. - При ошибке «Соединение сброшено удалённой стороной» (Windows UCRT,
ECONNRESET) сопоставьте маршруты, интерфейсы и тайм-ауты клиента, proxy и сервера, сохранив первый отказ.
На платформе Windows UCRT исправление ECONNRESET считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Соединение сброшено удалённой стороной» без утечки ресурсов и потери первичной диагностики.
Ссылки для ECONNRESET
Нужно найти другой код? Найти другой код состояния или ошибки.