6.2 Inet4Address and Inet6Address
Java 1.4 introduces two new classes, Inet4Address and
Inet6Address, in order to distinguish IPv4
addresses from IPv6 addresses:
public final class Inet4Address extends InetAddress(In Java 1.3 and earlier, all InetAddress objects
public final class Inet6Address extends InetAddress
represent IPv4 addresses.)Most of the time, you really shouldn't be concerned
with whether an address is an IPv4 or IPv6 address. In the
application layer where Java programs reside, you simply
don't need to know this (and even if you do need to
know, it's quicker to check the size of the byte
array returned by getAddress( ) than to use
instanceof to test which subclass you have).
Mostly these two classes are just implementation details you do not
need to concern yourself with. Inet4Address
overrides several of the methods in InetAddress
but doesn't change their behavior in any public way.
Inet6Address is similar, but it does add one new
method not present in the superclass,
isIPv4CompatibleAddress( ):
public boolean isIPv4CompatibleAddress( )This method returns true if and only if the address is essentially an
IPv4 address stuffed into an IPv6 containerwhich means only
the last four bytes are non-zero. That is, the address has the form
0:0:0:0:0:0:0:xxxx. If this is
the case, you can pull off the last four bytes from the array
returned by getBytes( ) and use this data to
create an Inet4Address instead. However, you
rarely need to do this.
• Table of Contents• Index• Reviews• Reader Reviews• Errata• AcademicJava Network Programming, 3rd EditionBy
Elliotte Rusty Harold Publisher: O'ReillyPub Date: October 2004ISBN: 0-596-00721-3Pages: 706
Thoroughly revised to cover all the 100+ significant updates
to Java Developers Kit (JDK) 1.5, Java Network
Programming is a complete introduction to
developing network programs (both applets and applications)
using Java, covering everything from networking fundamentals
to remote method invocation (RMI). It includes chapters on
TCP and UDP sockets, multicasting protocol and content
handlers, servlets, and the new I/O API. This is the
essential resource for any serious Java developer.