gethostbyname替换IPv6地址

rke*_*erm 5 c++ winapi network-programming ipv6

我有一个程序使用gethostbyname(在Windows中),以便将IP地址转换为主机名.

但是,它仅适用于IPv4 ......

什么是IPv6的正确替代品?

谢谢.

Dam*_*ver 7

在MSDN中查找gethostbyname告诉我们它已被弃用,我们应该查看getaddrinfo,它有各种选项来处理其他寻址系列.

或者,如果您正在进行名称翻译的地址,那么您最终将获得getnameinfo

  • 鼓励开发人员使用`GetAddrInfoW` Unicode函数(http://msdn.microsoft.com/en-us/library/ms738519(v=vs.85).aspx)而不是`getaddrinfo` ANSI函数. (2认同)

Mar*_*tos 6

使用getaddrinfo,弃用旧gethostbyname功能.

  • 您**应该**甚至也用于IPv4地址.您可以非常轻松地生成与协议无关的代码(适用于IPv4和IPv6的相同代码). (4认同)