Regarding the Enhancement request for a new method (ex : getIPv6AddressByName) to give IPv6 address for the given host name.
Chris Hegarty
chris.hegarty at oracle.com
Thu Aug 23 09:11:56 UTC 2018
Hi Shekar,
Have you tried `java.net.preferIPv6Addresses` [1]? Setting
that property to `true` should result in IPv6 addresses, if
there are any, being returned before IPv4 addresses.
-Chris.
[1] https://docs.oracle.com/javase/10/docs/api/java/net/doc-files/net-properties.html#Ipv4IPv6
> On 21 Aug 2018, at 18:21, S, Chandra Shekar (CDI R&D) <chandra-shekar.s at hpe.com> wrote:
>
> Hello Experts,
>
> This is regarding the Enhancement request for a new method to give IPv6 address for the given host name.
> Currently we have a method InetAddress.getByName <https://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html#getByName(java.lang.String)>(String <https://docs.oracle.com/javase/7/docs/api/java/lang/String.html> host) to give the IPAddress for the given hostname.
>
> If the DNS server resolves to both IPv4 and IPv6 addresses for the given hostname, this method will return only the first IPv4 address.
> Actually this method queries the DNS server first for the IPv4 addresses (ie, with option -query=A) and then queries the DNS server for the IPv6 (ie, with option -query=AAAA) addresses.
> It consolidates the both IPv4 address and IPv6 address into the list, and returns the first address from the consolidate list. As the IPv4 address will be the first in the list , it always returns the IPv4 address only.
>
> If we need to get only IPv6 address for the given host name (especially in the IPv6Only environments), currently there is no such method/api for this.
> Currently we have method InetAddress.getAllByName <https://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html#getAllByName(java.lang.String)>(String <https://docs.oracle.com/javase/7/docs/api/java/lang/String.html> host), which gives both IPv4 address and IPv6 address list, by iterating this we can get the IPv6 address resolution.
> But it is nice to have a separate method to get/resolve to IPv6address. Ex : getIPv6AddressByName(String <https://docs.oracle.com/javase/7/docs/api/java/lang/String.html> host) or getByName <https://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html#getByName(java.lang.String)>(String <https://docs.oracle.com/javase/7/docs/api/java/lang/String.html> host, AddressType addressType) – addressType will be passed by the call get IPv4/IPv6 address.
> This new method can query the DNS only for the IPv6 address (ie, with option -query=AAAA) which will have performance improvement over other.
>
> Thanks & Regards
> Shekar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/net-dev/attachments/20180823/e1e14081/attachment.html>
More information about the net-dev
mailing list