树叶云鸿蒙OS教程:鸿蒙OS InetSocketAddress

InetSocketAddress

java.lang.Object

|—java.net.SocketAddress

|—|—java.net.InetSocketAddress

public class InetSocketAddress
extends SocketAddress

此类实现了一个 IP 套接字地址(IP 地址 + 端口号),它也可以是一对(主机名 + 端口号),在这种情况下,将尝试解析主机名。 如果解析失败,则称该地址未解析,但仍可在某些情况下使用,例如通过代理连接。

它提供了一个不可变的对象,供套接字用于绑定、连接或作为返回值。

通配符是一个特殊的本地 IP 地址。 它通常表示“任何”,只能用于绑定操作。

构造函数摘要

构造函数描述
InetSocketAddress(int port)创建一个套接字地址,其中 IP 地址是通配符地址,端口号是指定值。
InetSocketAddress(String hostname, int port)从主机名和端口号创建套接字地址。
InetSocketAddress(InetAddress addr, int port)从 IP 地址和端口号创建套接字地址。

方法总结

修饰符和类型方法描述
static InetSocketAddresscreateUnresolved(String host, int port)从主机名和端口号创建一个未解析的套接字地址。
booleanequals(Object obj)将此对象与指定对象进行比较。
InetAddressgetAddress()获取 InetAddress。
StringgetHostName()获取主机名。
StringgetHostString()如果没有主机名(它是使用文字创建的),则返回主机名或地址的字符串形式。
intgetPort()获取端口号。
inthashCode()返回此套接字地址的哈希码。
booleanisUnresolved()检查地址是否已解析。
StringtoString()构造此 InetSocketAddress 的字符串表示形式。
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

构造函数详细信息

InetSocketAddress

public InetSocketAddress(int port)

创建一个套接字地址,其中 IP 地址是通配符地址,端口号是指定值。

有效端口值介于 0 和 65535 之间。端口号为零将使系统在绑定操作中选择一个临时端口。

参数:

参数名称参数描述
port端口号

Throws:

Throw名称Throw描述
IllegalArgumentException如果端口参数超出指定的有效端口值范围。

InetSocketAddress

public InetSocketAddress(InetAddress addr, int port)

从 IP 地址和端口号创建套接字地址。

有效端口值介于 0 和 65535 之间。端口号为零将使系统在绑定操作中选择一个临时端口。

空地址将分配通配符地址。

参数:

参数名称参数描述
addrIP 地址
port端口号

Throws:

Throw名称Throw描述
IllegalArgumentException如果端口参数超出指定的有效端口值范围。

InetSocketAddress

public InetSocketAddress(String hostname, int port)

从主机名和端口号创建套接字地址。

将尝试将主机名解析为 InetAddress。 如果该尝试失败,该地址将被标记为未解析。

如果有安全管理器,则调用其 checkConnect 方法,并以主机名作为其参数,以检查解决它的权限。 这可能会导致 SecurityException。

有效端口值介于 0 和 65535 之间。端口号为零将使系统在绑定操作中选择一个临时端口。

参数:

参数名称参数描述
hostname主机名
port端口号

Throws:

Throw名称Throw描述
IllegalArgumentException如果端口参数超出有效端口值的范围,或者主机名参数为空。
SecurityException如果存在安全管理器并且拒绝解析主机名的权限。

方法详情

createUnresolved

public static InetSocketAddress createUnresolved(String host, int port)

从主机名和端口号创建一个未解析的套接字地址。

不会尝试将主机名解析为 InetAddress。 该地址将被标记为未解析。

有效端口值介于 0 和 65535 之间。端口号为零将使系统在绑定操作中选择一个临时端口。

参数:

参数名称参数描述
host主机名
port端口号

返回:

表示未解析的套接字地址的 InetSocketAddress

Throws:

Throw名称Throw描述
IllegalArgumentException如果端口参数超出有效端口值的范围,或者主机名参数为空。

getPort

public final int getPort()

获取端口号。

返回:

端口号。

getAddress

public final InetAddress getAddress()

获取 InetAddress。

返回:

InetAdress 或 null 如果它未解析。

getHostName

public final String getHostName()

获取主机名。 注意:如果地址是使用文字 IP 地址创建的,则此方法可能会触发名称服务反向查找。

返回:

地址的主机名部分。

getHostString

public final String getHostString()

如果没有主机名(它是使用文字创建的),则返回主机名或地址的字符串形式。 这样做的好处是不尝试反向查找。

返回:

地址的主机名或字符串表示形式。

isUnresolved

public final boolean isUnresolved()

检查地址是否已解析。

返回:

如果无法将主机名解析为 InetAddress,则为 true。

toString

public String toString()

构造此 InetSocketAddress 的字符串表示形式。 此字符串是通过在 InetAddress 上调用 toString() 并连接端口号(使用冒号)来构造的。 如果地址未解析,则冒号之前的部分将仅包含主机名。

覆盖:

类 Object 中的 toString

返回:

此对象的字符串表示形式。

equals

public final boolean equals(Object obj)

将此对象与指定对象进行比较。 当且仅当参数不为空并且它表示与此对象相同的地址时,结果才为真。

如果 InetAddresses(或主机名,如果它未解析)和端口号相等,则 InetSocketAddress 的两个实例表示相同的地址。 如果两个地址都未解析,则比较主机名和端口号。 注意:主机名不区分大小写。 例如 “FooBar” 和 “foobar” 被认为是相等的。

覆盖:

类 Object 中的等于

参数:

参数名称参数描述
obj要比较的对象。

返回:

如果对象相同,则为 true; 否则为false。

hashCode

public final int hashCode()

返回此套接字地址的哈希码。

覆盖:

类 Object 中的 hashCode

返回:

此套接字地址的哈希码值。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/195301.html<

(0)
管理的头像管理
上一篇2025-04-02 22:23
下一篇 2025-04-02 22:24

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注