6

我不能gethostbyname用来获取主机的 IP 地址,这是一个已弃用的功能,在 Windows 上只能工作 10% 的时间!

我在其他方法上找不到任何足够的资源来使用其他功能查找主机的 IP 地址(推荐 MSDN getaddrinfo,但这似乎不是我想要的。)

4

3 回答 3

14

其实,getaddrinfo就是你想要的。这只是一种冗长的方法,更不用说有时会找到多个 IP 地址(例如一个 IPv4 地址一个 IPv6 地址)的事实。我建议您查看Beej 的网络编程指南,特别是getaddrinfo

于 2011-07-10T01:47:39.013 回答
10

你可以尝试类似的东西WSAConnectByName,但getaddrinfo实际上你想要的,这里是简单的例子

于 2011-07-10T01:48:02.527 回答
1

您可以使用gethostbyname2它同时支持 IPV4 和 IPV6 解析。
这是一篇gethostbyname展示和之间区别的文章getaddrinfo,它还讨论了gethostbyname2

于 2017-05-07T13:33:25.393 回答