我在 IPv6 套接字连接中遇到错误

发布于 2024-11-16 18:28:22 字数 335 浏览 1 评论 0原文

我的服务器正在创建一个 IPV6 套接字。

在客户端上,我正在创建一个 IPV4 套接字。 现在,在客户端的连接 API 中,我传递 IPV4 和 IPV6 地址结构的套接字描述符。

INET_connect( sock,(SocketAddress *)in6_addr,(int)sizeof( sockaddr_in6 ) ) == 0 )

我在

struct sockaddr_in6 in6_addr;

连接中遇到错误。是因为这个还是其他原因? 请注意,我的服务器是IPV6(有IPV6地址)

My server is creating a IPV6 socket.

On client I am creating a IPV4 socket.
Now, In the connect API on client side I am passing the socket descriptor of IPV4 and IPV6 address structure.

INET_connect( sock,(SocketAddress *)in6_addr,(int)sizeof( sockaddr_in6 ) ) == 0 )

where

struct sockaddr_in6 in6_addr;

I am getting error in connection. Is it due to this or some other reason ?
Please note that my server is IPV6(having an IPV6 address)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼前雾蒙蒙 2024-11-23 18:28:22

您必须使用 IPV6 套接字连接到 IPV6 地址,或使用隧道服务将流量从 IPV4 地址转换为 IPV6 地址。

You must use an IPV6 socket to connect to an IPV6 address, or use a tunneling service which will translate traffic from IPV4 addresses to and from IPV6 addresses.

傾旎 2024-11-23 18:28:22

在客户端上我正在创建一个 IPV4 套接字

为什么?不要那样做。如果您的客户端程序创建了 AF_INET 套接字(或在仅限 ip4 的操作系统上运行),那么您在客户端无法执行任何操作来实现此类连接。

如果您必须这样做 - 那么服务器应该适合处理 IPv4 客户端。

服务器可能能够接受来自 ip4 客户端的连接请求 - 但只有在服务器端禁用 IPV6_V6ONLY 套接字选项,并且显然,如果服务器的操作系统允许这样做时,才会发生这种情况。在这种情况下,ip6 服务器将通过 ipv4 映射的 ipv6 地址看到 ip4 客户端。

On client I am creating a IPV4 socket

Why? Don't do that. If your client program creates an AF_INET socket (or is running on ip4-only OS) then there is nothing you can do on the client side to make such connection happen.

If you just have to do so - then it is the server that should be adapted to handle IPv4 clients.

Server might be able to accept a connection request from ip4 client - but it can only happen if server side disables IPV6_V6ONLY socket option and, obviously, if server's OS allows that. In this case ip6 server will see the ip4 client via ipv4-mapped ipv6 address.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文