Альтернатива gethostbyname

Я не могу использовать gethostbyname для получения IP-адреса хоста, это устаревшая функция, которая работает в Windows только 10% времени!

Я не могу найти подходящих ресурсов по другим способам поиска IP-адреса хоста с помощью других функций (MSDN рекомендует getaddrinfo, но это не похоже на то, что я хочу.)


person Saustin    schedule 10.07.2011    source источник
comment
Если вы объясните, почему вы думаете, что getaddrinfo - это не то, что вам нужно, это может повысить ваши шансы на получение полезного ответа.   -  person Frank Boyne    schedule 10.07.2011


Ответы (3)


Собственно, getaddrinfo это то, что вам нужно. Это просто длинный способ сделать это, не говоря уже о том, что иногда обнаруживается несколько IP-адресов (например, один IPv4-адрес и один IPv6-адрес). Я бы рекомендовал посмотреть Руководство Beej по сетевому программированию, особенно _ 2_.

person Community    schedule 10.07.2011
comment
Обновленная ссылка: getaddrinfo, Содержание руководства - person tibx; 26.04.2018

Вы можете попробовать такие вещи, как WSAConnectByName, но getaddrinfo на самом деле это то, что вы хотите, вот простой пример.

person Nikolai Fetissov    schedule 10.07.2011

Вы можете использовать gethostbyname2, который поддерживает разрешение как IPV4, так и IPV6.
Это статья, в которой показано различие между gethostbyname и getaddrinfo, также обсуждается gethostbyname2.

person Baron Leonardo    schedule 07.05.2017