InetAddress 类

定义

此类表示 (IP) 地址的 Internet 协议。

[Android.Runtime.Register("java/net/InetAddress", DoNotGenerateAcw=true)]
public class InetAddress : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/net/InetAddress", DoNotGenerateAcw=true)>]
type InetAddress = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
InetAddress
派生
属性
实现

注解

此类表示 (IP) 地址的 Internet 协议。

IP 地址是 IP 使用的 32 位或 128 位无符号数字,是生成 UDP 和 TCP 等协议的较低级别协议。 IP 地址体系结构由 RFC  定义;790:分配号码http://www.ietf.org/rfc/rfc790.txtRFC 1918:专用 Internethttp://www.ietf.org/rfc/rfc1918.txt 的地址分配RFC 2365:管理范围的 IP 多播http://www.ietf.org/rfc/rfc2365.txtRFC 2373:IP 版本 6 寻址体系结构http://www.ietf.org/rfc/rfc2373.txt。 InetAddress 的实例由 IP 地址及其相应的主机名 (组成,具体取决于它是使用主机名构造的,还是) 已执行反向主机名解析。

<h3> 地址类型 </h3>

<blockquote><表 cellspacing=2 summary=“单播和多播地址类型的说明”><tr><th valign=top>unicast</th><td>单个接口的标识符。 发送到单播地址的数据包将传递到该地址标识的接口。

未指定的地址 -- 也称为任意本地地址或通配符地址。 它绝不能分配给任何节点。 它表示缺少地址。 其用法的一个示例是作为绑定的目标,它允许服务器在任何接口上接受客户端连接,以防服务器主机有多个接口。

未指定的地址不得用作 IP 数据包的目标地址。

环回地址 -- 这是分配给环回接口的地址。 发送到此 IP 地址的任何内容会四处循环,并成为本地主机上的 IP 输入。 测试客户端时,通常会使用此地址。</td></tr><th><valign=top>multicast</th><td>一组接口的标识符 (通常属于) 的不同节点。 发送到多播地址的数据包将传递到该地址标识的所有接口。</td></tr></table></blockquote>

<h4> IP 地址范围 </h4>

链接本地 地址设计为用于在单个链接上寻址,例如自动地址配置、邻居发现或不存在路由器时。

站点本地 地址设计为用于在站点内部寻址,而无需全局前缀。

全局 地址在 Internet 中是唯一的。

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

IP 地址的文本表示形式特定于地址系列。

有关 IPv4 地址格式,请参阅 Inet4Address#format;有关 IPv6 地址格式,请参阅 Inet6Address#format。

有几个系统属性会影响 IPv4 和 IPv6 地址的使用方式。

<h4> 主机名解析 </h4>

主机名到 IP 地址 解析 是通过结合使用本地计算机配置信息和网络命名服务(例如域名系统 (DNS) 和网络信息服务 (NIS) )来实现的。 使用的特定命名服务 () 默认为配置本地计算机。 对于任何主机名,将返回其相应的 IP 地址。

反向名称解析 意味着对于任何 IP 地址,将返回与 IP 地址关联的主机。

InetAddress 类提供将主机名解析为其 IP 地址的方法,反之亦然。

<h4> InetAddress Caching </h4>

InetAddress 类具有用于存储成功和不成功的主机名解析的缓存。

默认情况下,安装安全管理器时,为了防范 DNS 欺骗攻击,将永久缓存正主机名解析的结果。 如果未安装安全管理器,则默认行为是缓存依赖于有限 (实现) 时间段的条目。 主机名解析失败的结果将缓存在非常短的时间内 (10 秒) 以提高性能。

如果不需要默认行为,则可以将 Java 安全属性设置为不同的生存时间 (TTL) 值进行正缓存。 同样,系统管理员可以根据需要配置不同的负缓存 TTL 值。

两个 Java 安全属性控制用于正负主机名解析缓存的 TTL 值:

<blockquote><dl><dt><b>networkaddress.cache.ttl</b></dt><dd>指示从名称服务成功查找名称的缓存策略。 该值指定为整数,以指示缓存成功查找的秒数。 默认设置是缓存实现特定时间段。

值为 -1 表示“永久缓存”。 </dd dt b networkaddress.cache.negative.ttl</b> (默认值:10) </dt<>dd>指示名称服务中未成功查找名称的缓存策略。>><>< 该值指定为整数,以指示缓存失败以用于查找失败的秒数。

值为 0 表示“永不缓存”。 值为 -1 表示“永久缓存”。 </dd></dl></blockquote>

在 JDK1.0 中添加。

java.net.InetAddressJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

构造函数

InetAddress(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

CanonicalHostName

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

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
HostAddress

返回文本表示形式中的 IP 地址字符串。

HostName

获取此 IP 地址的主机名。

IsAnyLocalAddress

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

IsLinkLocalAddress

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

IsLoopbackAddress

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

IsMCGlobal

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

IsMCLinkLocal

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

IsMCNodeLocal

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

IsMCOrgLocal

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

IsMCSiteLocal

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

IsMulticastAddress

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

IsSiteLocalAddress

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

JniIdentityHashCode

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)
JniPeerMembers

此类表示 (IP) 地址的 Internet 协议。

LocalHost

返回本地主机的地址。

LoopbackAddress

返回环回地址。

PeerReference

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)
ThresholdClass

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

ThresholdType

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

方法

Clone()

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

(继承自 Object)
Dispose()

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)
Dispose(Boolean)

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)
Equals(Object)

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

(继承自 Object)
GetAddress()

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

GetAllByName(String)

给定主机的名称,根据系统上配置的名称服务返回其 IP 地址数组。

GetByAddress(Byte[])

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

GetByAddress(String, Byte[])

基于提供的主机名和 IP 地址创建 InetAddress。

GetByName(String)

确定给定主机名称的主机 IP 地址。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
IsReachable(Int32)

测试该地址是否可访问。

IsReachable(NetworkInterface, Int32, Int32)

测试该地址是否可访问。

JavaFinalize()

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

(继承自 Object)
Notify()

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

(继承自 Object)
NotifyAll()

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

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

设置 Handle 属性。

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

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)
ToString()

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

(继承自 Object)
UnregisterFromRuntime()

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)
Wait()

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

(继承自 Object)
Wait(Int64)

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

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

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

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)
IJavaPeerable.Finalized()

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

此类表示 (IP) 地址的 Internet 协议。

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

此类表示 (IP) 地址的 Internet 协议。

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

此类表示 (IP) 地址的 Internet 协议。

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

此类表示 (IP) 地址的 Internet 协议。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

此类表示 (IP) 地址的 Internet 协议。

GetJniTypeName(IJavaPeerable)

此类表示 (IP) 地址的 Internet 协议。

适用于