【发布时间】:2015-01-07 19:20:35
【问题描述】:
下面的转换工作正常,但是当我有 IPV6 时如何处理?
sockaddr foo;
in_addr_t ip_address = ((sockaddr_in)foo).sin_addr.s_addr;
以下代码失败:
sockaddr foo;
in_addr_t ip_address = ((sockaddr_in6)foo).sin6_addr.s_addr;
Error 1 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'IN6_ADDR' (or there is no acceptable conversion)
将sockaddr_in 转换为in_addr 的代码在哪里?
【问题讨论】:
-
IPv6 和 IPv4 地址无法通过这种方式进行转换。您想要一个以 IPv6 格式显示的 IPv4 地址吗?
-
您可能想阅读this answer。
标签: c++ sockets visual-c++