public final class

Inet6Address

extends InetAddress
java.lang.Object
   ↳ java.net.InetAddress
     ↳ java.net.Inet6Address

Class Overview

An IPv6 address. See InetAddress.

Summary

Public Methods
static Inet6Address getByAddress(String host, byte[] addr, int scope_id)
Constructs an IPv6 address according to the given host, addr and scope_id.
static Inet6Address getByAddress(String host, byte[] addr, NetworkInterface nif)
Gets an IPv6 address instance according to the given host, addr and nif.
int getScopeId()
Returns the scope id if this address is scoped to an interface, 0 otherwise.
NetworkInterface getScopedInterface()
Returns the network interface if this address is instanced with a scoped network interface, null otherwise.
boolean isAnyLocalAddress()
Returns whether this is the IPv6 unspecified wildcard address :: or the IPv4 "any" address, 0.0.0.0.
boolean isIPv4CompatibleAddress()
Returns whether this IPv6 address is an IPv4-compatible address or not.
boolean isLinkLocalAddress()
Returns whether this address is a link-local address or not.
boolean isLoopbackAddress()
Returns whether this address is a loopback address or not.
boolean isMCGlobal()
Returns whether this address is a global multicast address or not.
boolean isMCLinkLocal()
Returns whether this address is a link-local multicast address or not.
boolean isMCNodeLocal()
Returns whether this address is a node-local multicast address or not.
boolean isMCOrgLocal()
Returns whether this address is a organization-local multicast address or not.
boolean isMCSiteLocal()
Returns whether this address is a site-local multicast address or not.
boolean isMulticastAddress()
Returns whether this address is a multicast address or not.
boolean isSiteLocalAddress()
Returns whether this address is a site-local address or not.
String toString()
Returns a string containing a concise, human-readable description of this IP address.
[Expand]
Inherited Methods
From class java.net.InetAddress
From class java.lang.Object

Public Methods

public static Inet6Address getByAddress (String host, byte[] addr, int scope_id)

Since: API Level 1

Constructs an IPv6 address according to the given host, addr and scope_id.

Parameters
host the host name associated with the address.
addr the network address.
scope_id the scope id for link- or site-local addresses.
Returns
  • the Inet6Address instance representing the IP address.
Throws
UnknownHostException if the address is null or has an invalid length.

public static Inet6Address getByAddress (String host, byte[] addr, NetworkInterface nif)

Since: API Level 1

Gets an IPv6 address instance according to the given host, addr and nif. scope_id is set according to the given nif and the addr type (for example site-local or link-local).

Parameters
host the hostname associated with the address.
addr the network address.
nif the network interface that this address is associated with.
Returns
  • the Inet6Address instance representing the IP address.
Throws
UnknownHostException if the address is null or has an invalid length or the interface doesn't have a numeric scope id for the given address type.

public int getScopeId ()

Since: API Level 1

Returns the scope id if this address is scoped to an interface, 0 otherwise.

public NetworkInterface getScopedInterface ()

Since: API Level 1

Returns the network interface if this address is instanced with a scoped network interface, null otherwise.

public boolean isAnyLocalAddress ()

Since: API Level 1

Returns whether this is the IPv6 unspecified wildcard address :: or the IPv4 "any" address, 0.0.0.0.

public boolean isIPv4CompatibleAddress ()

Since: API Level 1

Returns whether this IPv6 address is an IPv4-compatible address or not. An IPv4-compatible address has the prefix ::/96 and is a deprecated and no-longer used equivalent of the modern IPv4-mapped IPv6 addresses.

public boolean isLinkLocalAddress ()

Since: API Level 1

Returns whether this address is a link-local address or not.

Valid IPv6 link-local addresses have the prefix fe80::/10.

RFC 3484 "Default Address Selection for Internet Protocol Version 6 (IPv6)" states that both IPv4 auto-configuration addresses (prefix 169.254/16) and IPv4 loopback addresses (prefix 127/8) have link-local scope, but Inet4Address only considers the auto-configuration addresses to have link-local scope. That is: the IPv4 loopback address returns false.

public boolean isLoopbackAddress ()

Since: API Level 1

Returns whether this address is a loopback address or not.

Valid IPv4 loopback addresses have the prefix 127/8.

The only valid IPv6 loopback address is ::1.

public boolean isMCGlobal ()

Since: API Level 1

Returns whether this address is a global multicast address or not.

Valid IPv6 global multicast addresses have the prefix ffxe::/16, where x is a set of flags and the additional 112 bits make up the global multicast address space.

Valid IPv4 global multicast addresses are the range of addresses from 224.0.1.0 to 238.255.255.255.

public boolean isMCLinkLocal ()

Since: API Level 1

Returns whether this address is a link-local multicast address or not.

Valid IPv6 link-local multicast addresses have the prefix ffx2::/16, where x is a set of flags and the additional 112 bits make up the link-local multicast address space.

Valid IPv4 link-local multicast addresses have the prefix 224.0.0/24.

public boolean isMCNodeLocal ()

Since: API Level 1

Returns whether this address is a node-local multicast address or not.

Valid IPv6 node-local multicast addresses have the prefix ffx1::/16, where x is a set of flags and the additional 112 bits make up the link-local multicast address space.

There are no valid IPv4 node-local multicast addresses.

public boolean isMCOrgLocal ()

Since: API Level 1

Returns whether this address is a organization-local multicast address or not.

Valid IPv6 organization-local multicast addresses have the prefix ffx8::/16, where x is a set of flags and the additional 112 bits make up the link-local multicast address space.

Valid IPv4 organization-local multicast addresses have the prefix 239.192/14.

public boolean isMCSiteLocal ()

Since: API Level 1

Returns whether this address is a site-local multicast address or not.

Valid IPv6 site-local multicast addresses have the prefix ffx5::/16, where x is a set of flags and the additional 112 bits make up the link-local multicast address space.

Valid IPv4 site-local multicast addresses have the prefix 239.255/16.

public boolean isMulticastAddress ()

Since: API Level 1

Returns whether this address is a multicast address or not.

Valid IPv6 multicast addresses have the prefix ff::/8.

Valid IPv4 multicast addresses have the prefix 224/4.

public boolean isSiteLocalAddress ()

Since: API Level 1

Returns whether this address is a site-local address or not.

For the purposes of this method, valid IPv6 site-local addresses have the deprecated prefix fec0::/10 from RFC 1884, not the modern prefix fc00::/7 from RFC 4193.

RFC 3484 "Default Address Selection for Internet Protocol Version 6 (IPv6)" states that IPv4 private addresses have the prefix 10/8, 172.16/12, or 192.168/16.

Returns
  • true if this instance represents a site-local address, false otherwise.

public String toString ()

Since: API Level 1

Returns a string containing a concise, human-readable description of this IP address.

Returns
  • the description, as host/address.