Getaddrinfo отличается поведением

0

У меня есть программа, которая работает с сокетами. На стороне клиента я получаю необходимую информацию через getaddrinfo, после чего результаты передаются на функцию соединения. Дело в том, что он работает по-разному в разных средах. На некоторых envs после получения addrinfo структуры и передачи его для подключения функции я получаю неверную ошибку аргумента. Я что-то упускаю? Пожалуйста, помогите мне с этим. Я использую его следующим образом:

getaddrinfo(host, NULL, NULL, &Result);

Передача подсказок подсказок с использованием типа сокета и семейства сокетов не принесла мне никакого результата.

Спасибо, заранее.

  • 1
    На самом деле не хватает деталей, чтобы эффективно угадывать, что происходит не так; но самое разумное, что нужно сделать - это Result содержимое Result в случае сбоя и сравнить его с делом успеха. Вы получаете несколько адресов? Одним из них может быть IPv6, который может не работать для вашего соединения
Теги:
sockets

1 ответ

1

Просто угадайте, потому что у вас нет кода для проверки: убедитесь, что домен сокета (AF_INET или AF_INET6) соответствует домену ai_family из структуры addrinfo. Еще лучше создайте сокет после вызова getaddrinfo и используйте ai_family в качестве домена сокетов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню