public final class Inet6Address extends InetAddress
The preferred form是X X X X:::::::X X X X,其中X是地址的八16位片的十六进制值。这是完整的形式。例如,
1080:0:0:0:8:800:200C:417A
请注意,它是没有必要写在一个单独的领域领先的零。然而,必须至少有一个数字在每一个领域,除了如下所述。
由于分配IPv6地址一定风格的一些方法,将常见的地址包含一长串的零位。为了使写地址包含零位更容易,一个特殊的语法可以压缩的零。使用“:”表示16位的多组。“:”只能出现一次在一个地址。“:”也可以用来压缩地址中的领先和/或尾随零。例如,
1080::8:800:200C:417A
另一种形式,有时是更方便在处理混合IPv4和IPv6节点的环境是:X X X X X X::::d.d.d.d,其中x是六阶的16位块地址的十六进制值,和“D是四低以8块标准IPv4地址表示的十进制值,例如,
::FFFF:129.144.52.38
::129.144.52.38
“:::d.d.d.d范围”和“::d.d.d.d”,分别对IPv4映射的IPv6地址的一般形式和IPv4兼容的IPv6地址。请注意,IPv4部分必须在“d.d.d.d”形式。下列形式是无效的:
::FFFF:d.d.d
::FFFF:d.d
::d.d.d
::d.d
以下形式:
::FFFF:d
是有效的,但是它是兼容IPv4的IPv6地址的一种非常规的表达,
::255.255.0.d
而“::D”对应于一般的IPv6地址”0:0:0:0:0:0:0:D”。
返回作为输出值的文本表示的方法,使用完整的窗体。Inet6Address将返回完整的形式因为它是明确的使用与其它文本数据的组合。
IPv4-mapped address Of the form::ffff:w.x.y.z, this IPv6 address is used to represent an IPv4 address. It allows the native program to use the same address data structure and also the same socket when communicating with both IPv4 and IPv6 nodes. In InetAddress and Inet6Address, it is used for internal representation; it has no functional role. Java will never return an IPv4-mapped address. These classes can take an IPv4-mapped address as input, both in byte array and text representation. However, it will be converted into an IPv4 address.
IPv6地址的文本表示上述可以扩展到指定的IPv6组播地址。这对基本的寻址体系结构扩展是draft-ietf-ipngwg-scoping-arch-04 txt ] [描述。
由于链路本地和站点本地地址是非全局的,它是可能的,不同的主机可能有相同的目的地地址,并可以通过不同的接口上同一个始发系统。在这种情况下,原始系统被说是连接到相同的范围的多个区域。为了区分这是预期的目标区,可以添加一个区域标识(或scope_id)对IPv6地址。
指定scope_id一般格式如下:
IPv6-address% scope_id
IPv6地址是字面的IPv6地址如上。的scope_id指本地系统上的一个接口,它可以以两种方式指定。
NetworkInterface.getName()
问题中的特定接口。当一个Inet6Address是这样产生的,数值范围ID是当时的对象是通过查询相关的网络接口创建的确定。注意,这可以从数字scope_id Inet6Address实例检索从网络接口类。可以用来查找在系统上配置的当前范围的标识。
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
将此对象与指定的对象进行比较。
|
byte[] |
getAddress()
返回该对象的
InetAddress 原IP地址。
|
static Inet6Address |
getByAddress(String host, byte[] addr, int scope_id)
创建一个在
InetAddress.getByAddress(String,byte[]) Inet6Address确切的方式除了IPv6 scope_id设置为给定的值。
|
static Inet6Address |
getByAddress(String host, byte[] addr, NetworkInterface nif)
创建一个在
InetAddress.getByAddress(String,byte[]) Inet6Address确切的方式除了IPv6 scope_id设置,给出了相应的规定
addr 地址类型接口的价值。
|
String |
getHostAddress()
返回文本表示中的IP地址字符串。
|
NetworkInterface |
getScopedInterface()
返回调用接口,如果该实例创建一个作用域的接口。
|
int |
getScopeId()
返回数字scopeid,如果这个实例是一个界面。
|
int |
hashCode()
返回该IP地址的hash码。
|
boolean |
isAnyLocalAddress()
实用程序来检查是否一个通配符解决它。
|
boolean |
isIPv4CompatibleAddress()
实用程序检查,如果它是一个兼容IPv4的IPv6地址。
|
boolean |
isLinkLocalAddress()
实用程序检查,如果它是一个链路本地地址。
|
boolean |
isLoopbackAddress()
实用程序来检查它是环回地址。
|
boolean |
isMCGlobal()
实用程序,检查多播地址是否具有全局范围。
|
boolean |
isMCLinkLocal()
实用程序,检查多播地址是否有连接范围。
|
boolean |
isMCNodeLocal()
实用程序,检查多播地址是否有节点范围。
|
boolean |
isMCOrgLocal()
实用程序,检查多播地址是否有组织范围。
|
boolean |
isMCSiteLocal()
实用程序,检查多播地址是否有网站范围。
|
boolean |
isMulticastAddress()
实用程序检查,如果它是一个IP多播地址。
|
boolean |
isSiteLocalAddress()
实用程序检查,如果它是一个站点本地地址。
|
getAllByName, getByAddress, getByAddress, getByName, getCanonicalHostName, getHostName, getLocalHost, getLoopbackAddress, isReachable, isReachable, toString
public static Inet6Address getByAddress(String host, byte[] addr, NetworkInterface nif) throws UnknownHostException
InetAddress.getByAddress(String,byte[])
Inet6Address确切的方式除了IPv6 scope_id设置,给出了相应的规定
addr
地址类型接口的价值。调用将失败与unknownhostexception如果给定的接口没有指定给定的地址类型的数字scope_id(如链路本地或本地站点)。看到一个描述
here IPv6组播地址。
host
-指定的主机
addr
-网络字节顺序的原始IP地址
nif
-接口地址必须与。
UnknownHostException
如果IP地址是非法的长度,或如果接口没有指定给定的地址类型的数字scope_id。
public static Inet6Address getByAddress(String host, byte[] addr, int scope_id) throws UnknownHostException
InetAddress.getByAddress(String,byte[])
Inet6Address确切的方式除了IPv6 scope_id设置为给定的值。的scope_id不检查以确定它是否对应于系统上的任何接口。看到一个描述
here IPv6组播地址。
host
-指定的主机
addr
-网络字节顺序的原始IP地址
scope_id
-地址的数字scope_id。
UnknownHostException
如果IP地址是非法的长度。
public boolean isMulticastAddress()
isMulticastAddress
方法重写,继承类
InetAddress
boolean
表示如果它是一个IP多播地址
public boolean isAnyLocalAddress()
isAnyLocalAddress
方法重写,继承类
InetAddress
boolean
表示如果它是一个通配符地址。
public boolean isLoopbackAddress()
isLoopbackAddress
方法重写,继承类
InetAddress
boolean
表示如果它是环回地址;否则。
public boolean isLinkLocalAddress()
isLinkLocalAddress
方法重写,继承类
InetAddress
boolean
表示如果它是一个链路本地地址;或假如果地址不是链路本地单播地址。
public boolean isSiteLocalAddress()
isSiteLocalAddress
方法重写,继承类
InetAddress
boolean
表示如果它是一个站点本地地址;或假如果地址不是站点本地单播地址。
public boolean isMCGlobal()
isMCGlobal
方法重写,继承类
InetAddress
boolean
表示如果地址已经是全球范围的组播地址,假如果不是全球范围或它不是一个多播地址
public boolean isMCNodeLocal()
isMCNodeLocal
方法重写,继承类
InetAddress
boolean
表示如果地址是节点局部范围的组播地址,假如果不是节点局部范围或它不是一个多播地址
public boolean isMCLinkLocal()
isMCLinkLocal
方法重写,继承类
InetAddress
boolean
表示如果地址是链路本地范围的组播地址,假如果不是链路本地范围或它不是一个多播地址
public boolean isMCSiteLocal()
isMCSiteLocal
方法重写,继承类
InetAddress
boolean
表示如果地址是本地站点范围的组播地址,假如果不是局部范围或它不是一个多播地址
public boolean isMCOrgLocal()
isMCOrgLocal
方法重写,继承类
InetAddress
boolean
表示如果地址是组织局部范围的组播地址,假如果不是组织局部范围或它不是一个多播地址
public byte[] getAddress()
InetAddress
原IP地址。其结果是在网络字节顺序:地址的字节是在
getAddress()[0]
。
getAddress
方法重写,继承类
InetAddress
public int getScopeId()
public NetworkInterface getScopedInterface()
public String getHostAddress()
getHostAddress
方法重写,继承类
InetAddress
public int hashCode()
hashCode
方法重写,继承类
InetAddress
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
true
如果只有参数不
null
它代表相同的IP地址作为该对象。
对InetAddress
两实例表示相同的IP地址,如果getAddress
返回的字节数组的长度是相同的,并且每个数组组件是相同的字节数组。
equals
方法重写,继承类
InetAddress
obj
-比较的对象。
true
如果对象是相同的;
false
否则。
InetAddress.getAddress()
public boolean isIPv4CompatibleAddress()
boolean
表示如果它是一个兼容IPv4的IPv6地址;或假如果地址是IPv4地址。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.