| Предыдущий | Следующий |
| ETIMEDOUT | EHOSTDOWN |
ECONNREFUSED
Активный отказ отличается от тайм-аута
ECONNREFUSED означает, что установление соединения дошло до этапа, на котором целевая машина отказала в запросе. Solaris указывает типичный случай подключения к неактивной службе. POSIX connect() аналогично описывает целевой адрес, на котором никто не прослушивает соединения или который отклоняет запрос.
Это отличается от ETIMEDOUT, когда ответ не получен за требуемое время, и от ENETUNREACH, когда сеть назначения недоступна. Скорость возникновения и источник сбоя дают полезные подсказки, но основное различие задаётся точным значением errno.
Проверки конечной точки при отказе
- После разрешения имени и обнаружения службы проверьте адрес назначения, порт и протокол.
- Убедитесь, что сервер прослушивает ожидаемый локальный адрес и нужное семейство адресов, а не только loopback или другой интерфейс.
- Проверьте межсетевой экран и компоненты политики, способные активно отклонять трафик, не смешивая отказ с молчаливой потерей пакетов.
Ссылки
- Oracle Solaris: каталог errno intro(2)
- POSIX: условия ошибок connect()
- RFC 9293: состояния TCP-соединения и семантика сброса
Нужно найти другой код? Найти другой код состояния или ошибки.