c - 从 windows xp 中的 addrinfo 结构获取 ipv6 地址

标签 c windows-xp winsock ipv6 getaddrinfo

如何从 windows xp 下的 addrinfo 结构中获取 ipv6 地址? 除了 WSAAddressToString 还有其他可能性吗(有没有人成功使用过那个?)?

getaddrinfo(server_ip, port, &hints, &result)
addr = (struct sockaddr_in6*) rp->ai_addr;
WSAAddressToString((struct sockaddr*) rp, (DWORD) sizeof(*addr), 0, ipbuf, &iplen); //cant get it to work

非常感谢

最佳答案

尝试:

WSAAddressToString(rp->ai_addr, rp->ai_addrlen, NULL, ipbuf, &iplen);

在您的示例中,您将 addrinfo 作为 sockaddr 传递。 (我假设 rp 正在迭代结果或其他东西。)

关于c - 从 windows xp 中的 addrinfo 结构获取 ipv6 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266292/

相关文章:

c++ - 在opencv中找到轮廓/对象之间的距离

c - 全局客户表 C : Chatroom

java - 如何在 Windows XP 下将所有已安装的 Java 版本导出到一个文本文件

c - 为什么我的所有者数据 ListView 状态图像在 Windows XP 上显示为空白?

winforms - 字体向后不兼容

c++ - C C++ - TCP 套接字类 : Receive Problem

c++ - 从网络服务器传输套接字文件

c++ - 在编译期间操作字符串的 C/C++ 宏

c - Linux 上的退出函数

c++ - 如何让 Win32 线程在工作队列和套接字上等待?