Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
814 views
in Technique[技术] by (71.8m points)

java - InetAddress.getHostAddress() ipv6 compliant?

Is InetAddress.getHostAddress() ipv6 compliant in JDK 1.6?

Specifically I am doing

InetAddress.getLocalHost().getHostAddress()

Is it ipv6 compliant? Does it work for both ipv4 and v6 addresses?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The extended class java.net.Inet6Address is IPv6 compliant.

JavaDoc:

This class represents an Internet Protocol version 6 (IPv6) address. Defined by RFC 2373: IP Version 6 Addressing Architecture.

Basically, if you do InetAddress.getByName() or InetAddress.getByAddress() the methods identify whether the name or address is an IPv4 or IPv6 name/address and return an extended Inet4Address/Inet6Address respectively.

As for InetAddress.getHostAddress(), it returns a null. You will need java.net.Inet6Address.getHostAddress() to return an IPv6 string representable address.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...