【发布时间】:2011-09-19 18:53:02
【问题描述】:
我的服务器正在创建一个 IPV6 套接字。
在客户端我正在创建一个 IPV4 套接字。 现在,在客户端的连接 API 中,我传递了 IPV4 和 IPV6 地址结构的套接字描述符。
INET_connect( sock,(SocketAddress *)in6_addr,(int)sizeof( sockaddr_in6 ) ) == 0 )
在哪里
struct sockaddr_in6 in6_addr;
我在连接时遇到错误。是因为这个还是其他原因? 请注意,我的服务器是 IPV6(具有 IPV6 地址)
【问题讨论】:
-
听起来您只是“决定”使用 IPv6,但并未真正了解 IPv6 是什么,什么可行或不可行。
-
谢谢杰里米。很高兴你能启发我。无论如何,我只是想知道如果我用 IPV4 创建一个套接字并将作为 IPV6 格式传递的地址转换为 IPV4 格式,那么可能会建立连接。如果我错了,请纠正我。
-
您可能错了,因为您没有显示转换方式的代码,也没有描述您正在使用的平台。现代操作系统将允许您的 IPv4 客户端与 IPv6 服务器通信(服务器将看到 IP4 映射的 IP6 地址)。如果您使用必要的详细信息编辑您的问题,那么 SO 可能会对您更有帮助。
-
投票,因为这个问题可能有助于突出某种常见(或不那么常见)的误解
-
“我在连接中遇到错误”不是问题描述。您需要发布 actual 错误消息。此外,返回零的系统调用也不是错误的证据,而是成功的证据。