Inet6Address 类

定义

此类表示 Internet 协议版本 6 (IPv6) 地址。

[Android.Runtime.Register("java/net/Inet6Address", DoNotGenerateAcw=true)]
public sealed class Inet6Address : Java.Net.InetAddress
[<Android.Runtime.Register("java/net/Inet6Address", DoNotGenerateAcw=true)>]
type Inet6Address = class
    inherit InetAddress
继承
Inet6Address
属性

注解

此类表示 Internet 协议版本 6 (IPv6) 地址。 由 RFC  定义;2373:IP 版本 6 寻址体系结构http://www.ietf.org/rfc/rfc2373.txt

<h3> IP> 地址<的文本表示形式/h3>

用作方法输入的 IPv6 地址的文本表示形式采用以下形式之一:

<ol><li>

“lform”>首选形式是 x:x:x:x,其中'x's 是地址八个 16 位片段的十六进制值。 这是完整形式。 例如,

<blockquote><table cellpadding=0 cellspacing=0 summary=“layout”<>tr td td>1080:0:0:0:8:800:200C:417A<></tr>><</table></blockquote>

请注意,不必在单个字段中写入前导零。 但是,每个字段中必须至少有一个数字,如下所述。</li>

<li>

由于某些分配 IPv6 地址样式的方法,地址通常包含长度为零位的字符串。 为了使包含零位的地址更易于编写,可以使用特殊的语法来压缩零。 使用“::”表示 16 位零的多个组。 “:”只能在地址中显示一次。 “:”还可用于压缩地址中的前导和/或尾随零。 例如,

<blockquote><table cellpadding=0 cellspacing=0 summary=“layout”<>tr td td>1080::8:800:200C:417A<></tr>><</table></blockquote>

<li>

处理 IPv4 和 IPv6 节点混合环境时,有时更方便的替代形式是 x:x:x:d.d.d.d, 其中“x”是地址的六个高阶 16 位片段的十六进制值,而“d”是标准 IPv4 表示地址的四个低序 8 位片段的十进制值, 例如,

<blockquote><table cellpadding=0 cellspacing=0 summary=“layout”<>tr td td>::FFFF:129.144.52.38<td></tr><tr td><::129.144.52.38td></>><<tr></table></blockquote>

其中,“:FFFF:d.d.d.d”和“::d.d.d.d.d”分别是 IPv4 映射的 IPv6 地址和 IPv4 兼容的 IPv6 地址的一般形式。 请注意,IPv4 部分必须采用“d.d.d.d”窗体。 以下表单无效:

<blockquote><table cellpadding=0 cellspacing=0 summary=“layout”><tr><td td>::FFFF:d.d.d<td></tr>><<td td::FFFF:d.d>><</<><>tr td td>><::d.d.d</><><tr td<><::d.d>/tr></table></blockquote>

以下形式:

<blockquote><table cellpadding=0 cellspacing=0 summary=“layout”<>tr td td>::FFFF:d<></tr>><</table></blockquote>

有效,但它是 IPv4 兼容 IPv6 地址的非常规表示形式,

<blockquote><table cellpadding=0 cellspacing=0 summary=“layout”<>tr td td>::255.255.0.d<></tr>><</table></blockquote>

而“::d”对应于常规 IPv6 地址“0:0:0:0:0:0:0:0:d”。</li></ol>

对于将文本表示形式作为输出值返回的方法,将使用完整窗体。 Inet6Address 将返回完整表单,因为它与其他文本数据结合使用时是明确的。

<h4> 特殊 IPv6 地址 </h4>

<blockquote><table cellspacing=2 summary=“Description of IPv4 mapped address”><tr><th valign=top>IPv4-mapped address</th><td>Of the form::ffff:w.x.y.z, this IPv6 address is used to represent an IPv4 address. 它允许本机程序在与 IPv4 和 IPv6 节点通信时使用相同的地址数据结构以及相同的套接字。

在 InetAddress 和 Inet6Address 中,它用于内部表示形式;它没有功能角色。 Java永远不会返回 IPv4 映射的地址。 这些类可以采用 IPv4 映射的地址作为输入,无论是字节数组还是文本表示形式。 但是,它将转换为 IPv4 地址。</td></tr></table></blockquote>

<h4>“scoped”>IPv6 作用域地址</h4 的文本表示形式>

可以扩展 IPv6 地址的文本表示形式,以指定 IPv6 作用域地址。 基本寻址体系结构的此扩展在 [draft-ietf-ipngwg-scoping-arch-04.txt] 中介绍。

由于链接本地地址和站点本地地址不是全局地址,因此不同的主机可能具有相同的目标地址,并且可以通过同一发起系统上的不同接口访问。 在这种情况下,据说原始系统连接到同一范围的多个区域。 为了消除目标区域的歧义,可以将区域标识符(或 scope_id)追加到 IPv6 地址。

指定 scope_id 的常规格式如下:

<blockquote>IPv6-address%scope_id</blockquote>

IPv6 地址是如上所述的文本 IPv6 地址。 scope_id引用本地系统上的接口,可通过两种方式指定该接口。 <ol><li>作为数字标识符。 这必须是一个正整数,用于标识系统所理解的特定接口和范围。 通常,数值可以通过系统上的管理工具来确定。 每个接口可能有多个值,每个范围都有一个值。 如果未指定范围,则使用的默认值为零。</li li><>作为字符串。这必须是所针对特定接口返回java.net.NetworkInterface#getName()的确切字符串。 以这种方式创建 Inet6Address 时,通过查询相关的 NetworkInterface 来确定对象创建时的数字范围 ID。</li></ol>

另请注意,可以从 NetworkInterface 类返回的 Inet6Address 实例中检索数值 scope_id 。 这可用于找出系统上配置的当前范围 ID。

在 1.4 中添加。

Java文档java.net.Inet6Address

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

属性

名称 说明
CanonicalHostName

获取此 IP 地址的完全限定域名。

(继承自 InetAddress)
Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
HostAddress

返回文本演示文稿中的 IP 地址字符串。

(继承自 InetAddress)
HostName

获取此 IP 地址的主机名。

(继承自 InetAddress)
IsAnyLocalAddress

用于检查通配符地址中的 InetAddress 的实用工具例程。

(继承自 InetAddress)
IsIPv4CompatibleAddress

用于检查 InetAddress 是否为 IPv4 兼容的 IPv6 地址的实用工具例程。

IsLinkLocalAddress

用于检查 InetAddress 是否为链接本地地址的实用工具例程。

(继承自 InetAddress)
IsLoopbackAddress

用于检查 InetAddress 是否为环回地址的实用工具例程。

(继承自 InetAddress)
IsMCGlobal

用于检查多播地址是否具有全局范围的实用工具例程。

(继承自 InetAddress)
IsMCLinkLocal

用于检查多播地址是否具有链接范围的实用工具例程。

(继承自 InetAddress)
IsMCNodeLocal

用于检查多播地址是否具有节点范围的实用工具例程。

(继承自 InetAddress)
IsMCOrgLocal

用于检查多播地址是否具有组织范围的实用工具例程。

(继承自 InetAddress)
IsMCSiteLocal

用于检查多播地址是否具有站点范围的实用工具例程。

(继承自 InetAddress)
IsMulticastAddress

用于检查 InetAddress 是否为 IP 多播地址的实用工具例程。

(继承自 InetAddress)
IsSiteLocalAddress

用于检查 InetAddress 是否为站点本地地址的实用工具例程。

(继承自 InetAddress)
JniIdentityHashCode

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
JniPeerMembers

此类表示 Internet 协议版本 6 (IPv6) 地址。

PeerReference

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
ScopedInterface

如果此实例是使用作用域的接口创建的,则返回作用域接口。

ScopeId

如果此实例与接口关联,则返回数值 scopeId。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 InetAddress)
ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 InetAddress)

方法

名称 说明
Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
Dispose(Boolean)

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetAddress()

返回此 InetAddress 对象的原始 IP 地址。

(继承自 InetAddress)
GetByAddress(String, Byte[], Int32)

按照 IPv6 scope_id设置为给定数值的 InetAddress#getByAddress(String,byte[]) 确切方式创建 Inet6Address。

GetByAddress(String, Byte[], NetworkInterface)

以确切的方式创建 Inet6Address, InetAddress#getByAddress(String,byte[]) 但 IPv6 scope_id设置为对应于指定 addr地址类型的给定接口的值。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
IsReachable(Int32)

测试该地址是否可访问。

(继承自 InetAddress)
IsReachable(NetworkInterface, Int32, Int32)

测试该地址是否可访问。

(继承自 InetAddress)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
IJavaPeerable.Finalized()

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

此类表示 Internet 协议版本 6 (IPv6) 地址。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

此类表示 Internet 协议版本 6 (IPv6) 地址。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于