| Предыдущий | Следующий |
| WSAENOTSOCK | WSAEMSGSIZE |
WSAEDESTADDRREQ
WSAEDESTADDRREQ возникает, когда Winsock не может определить адрес отправки сообщения. Сокет без соединения, например UDP, может отправлять на явный адрес через sendtoили сначала быть связан с узлом по умолчанию через connect. Без одного из этих вариантов обычная отправка не имеет получателя.
Чего этот код не означает
Ошибка не означает сбой DNS, отклонение трафика целью или отсутствие маршрута. Winsock ещё не дошёл до этих этапов: приложение не предоставило пригодный адрес узла для конкретного вызова.
Исправьте контракт вызова
- Для дейтаграмм без соединения передайте правильно заполненный адрес назначения
sockaddrи его длину вsendtoилиWSASendTo. - Для одного повторяющегося узла один раз подключите дейтаграммный сокет и последовательно используйте
send/recv. - Записывайте семейство, длину адреса назначения и состояние подключения сокета; пустой адрес и адрес неверного семейства требуют разных исправлений.
Microsoft: sendto · The Open Group: sendto · Microsoft: connect
Нужно найти другой код? Найти другой код состояния или ошибки.