2016-10-13 8 views
1

:しかしInet6Address.getByName()のための奇妙な応答を与える0:0:0:0:0:FFFF:0:私はIPv6のIPアドレスを正常化するために、次のコードを使用しています0

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」でこのコードを試してみました、そして、彼らは罰金のように見える。特に、このIPは、IPv6形式を返しません理由について

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 

任意の考え?

答えて

7

getHostAddress()は、(正確に)IPv4-mapped IPv6 addressを表示しています。

+0

乾杯、それは標準の一部であったことさえ知りませんでした。 – zodac

関連する問題