【问题标题】:Inet6Address.getByName() giving odd response for 0:0:0:0:0:ffff:0:0Inet6Address.getByName() 对 0:0:0:0:0:ffff:0:0 给出奇怪的响应
【发布时间】:2016-10-13 17:38:32
【问题描述】:

我正在使用以下代码来规范化 IPv6 IP 地址:

try {
    return Inet6Address.getByName(ipAddress).getHostAddress();
} catch (final UnknownHostException e) {
    return ipAddress;
}

但是,当我使用 IP“0:0:0:0:0:ffff:0:0”时,我得到“0.0.0.0”作为响应。我在其他每个八位字节中都用“ffff”尝试了这段代码,它们似乎没问题:

ffff:0:0:0:0:0:0:0
0:ffff:0:0:0:0:0:0
0:0:ffff:0:0:0:0:0
0:0:0:ffff:0:0:0:0
0:0:0:0:ffff:0:0:0
0.0.0.0
0:0:0:0:0:0:ffff:0
0:0:0:0:0:0:0:ffff

对于为什么这个 IP 不会返回 IPv6 格式有什么想法吗?

【问题讨论】:

    标签: java ipv6 ipv4


    【解决方案1】:

    getHostAddress() 正在(正确地)显示IPv4-mapped IPv6 address

    【讨论】:

    • 干杯,甚至不知道这是标准的一部分。
    猜你喜欢
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多