gpt4 book ai didi

sockets - java : Can socket connect to IPv6 address while binding a IPv4 address?

转载 作者:行者123 更新时间:2023-12-03 11:58:17 28 4
gpt4 key购买 nike

InetSocketAddress ipv4 = ...; // the IPv4 address
InetSocketAddress ipv6 = ...; // the IPv6 address

Socket sock = ...; // initialize a socket

sock.bind(ipv4);
sock.connect(ipv6, 0);

双方均支持 IPv4/IPv6 双栈。

Java 可以支持这种连接吗?

如果JDK可以尝试将绑定(bind)地址转换为IPv6地址或将目标地址转换为IPv4地址?

我在连接到 IPv4 时尝试了绑定(bind) IPv6 的情况。 JDK 在连接过程中将绑定(bind)的 IPv6 地址转换为 IPv4 地址。
但是在连接到 IPv6 时尝试绑定(bind) IPv4(如上所述),我只是遇到了超时异常。
我不确定这是不支持还是我的环境有问题。
我想应该有一些异常表明在连接之前不支持抛出,而不是最终超时。

任何的想法?谢谢。

最佳答案

IPv4 和 IPv6 是不同的协议(protocol)。你不能混合它们。您只能从一个 IPv4 地址连接到另一个 IPv4 地址或从一个 IPv6 地址连接到另一个 IPv6 地址。

关于sockets - java : Can socket connect to IPv6 address while binding a IPv4 address?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16827037/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com