我不能gethostbyname
用来获取主机的 IP 地址,这是一个已弃用的功能,在 Windows 上只能工作 10% 的时间!
我在其他方法上找不到任何足够的资源来使用其他功能查找主机的 IP 地址(推荐 MSDN getaddrinfo
,但这似乎不是我想要的。)
我不能gethostbyname
用来获取主机的 IP 地址,这是一个已弃用的功能,在 Windows 上只能工作 10% 的时间!
我在其他方法上找不到任何足够的资源来使用其他功能查找主机的 IP 地址(推荐 MSDN getaddrinfo
,但这似乎不是我想要的。)
其实,getaddrinfo
就是你想要的。这只是一种冗长的方法,更不用说有时会找到多个 IP 地址(例如一个 IPv4 地址和一个 IPv6 地址)的事实。我建议您查看Beej 的网络编程指南,特别是getaddrinfo
。
你可以尝试类似的东西WSAConnectByName
,但getaddrinfo
实际上是你想要的,这里是简单的例子。
您可以使用gethostbyname2
它同时支持 IPV4 和 IPV6 解析。
这是一篇gethostbyname
展示和之间区别的文章getaddrinfo
,它还讨论了gethostbyname2
。