Альтернатива gethostbyname - PullRequest
6 голосов
/ 10 июля 2011

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

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

Ответы [ 3 ]

12 голосов
/ 10 июля 2011

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

9 голосов
/ 10 июля 2011

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

1 голос
/ 07 мая 2017

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

...