所有类


java.net
类 InetSocketAddress

java.lang.Object
  继承者 java.net.SocketAddress
      继承者 java.net.InetSocketAddress
所有已实现的接口:
Serializable

public class InetSocketAddress
   
   
   
   
   
extends SocketAddress

此类实现 IP 套接字地址(IP 地址 + 端口号)。它还可以是一个对(主机名 + 端口号),在此情况下,将尝试解析主机名。如果解析失败,则该地址将被视为未解析 地址,但是其在某些情形下仍然可以使用,比如通过代理连接。

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

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

从以下版本开始:
1.4
另请参见:
Socket, ServerSocket, 序列化表格

构造方法摘要
InetSocketAddress(InetAddress addr, int port)
          根据 IP 地址和端口号创建套接字地址。
InetSocketAddress(int port)
          创建套接字地址,其中 IP 地址为通配符地址,端口号为指定值。
InetSocketAddress(String hostname, int port)
          根据主机名和端口号创建套接字地址。
 
方法摘要
static InetSocketAddress createUnresolved(String host, int port)
          根据主机名和端口号创建未解析的套接字地址。
 boolean equals(Object obj)
          将此对象与指定对象比较。
 InetAddress getAddress()
          获取 InetAddress
 String getHostName()
          获取 hostname
 int getPort()
          获取端口号。
 int hashCode()
          返回此套接字地址的哈希码。
 boolean isUnresolved()
          检查是否已解析地址。
 String toString()
          构造此 InetSocketAddress 的字符串表示形式。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

InetSocketAddress

public InetSocketAddress(int port)
创建套接字地址,其中 IP 地址为通配符地址,端口号为指定值。

有效端口值介于 0 和 65535 之间。端口号 zero 允许系统在 bind 操作中挑选暂时的端口。

参数:
port - 端口号
抛出:
IllegalArgumentException - 如果 port 参数超出有效端口值的指定范围。

InetSocketAddress

public InetSocketAddress(InetAddress addr,
                         int port)
根据 IP 地址和端口号创建套接字地址。

有效端口值介于 0 和 65535 之间。端口号 zero 允许系统在 bind 操作中挑选暂时的端口。

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

参数:
addr - IP 地址
port - 端口号
抛出:
IllegalArgumentException - 如果 port 参数超出有效端口值的指定范围。

InetSocketAddress

public InetSocketAddress(String hostname,
                         int port)
根据主机名和端口号创建套接字地址。

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

如果存在安全管理器,则将主机名用作参数调用其 checkConnect 方法,以检查解析它的权限。这可能会导致 SecurityException 异常。

有效端口值介于 0 和 65535 之间。端口号 zero 允许系统在 bind 操作中挑选暂时的端口。

参数:
hostname - 主机名
port - 端口号
抛出:
IllegalArgumentException - 如果 port 参数超出有效端口值的范围,或者主机名参数为 null
SecurityException - 如果存在安全管理器,但拒绝解析主机名的权限。
另请参见:
isUnresolved()
方法详细信息

createUnresolved

public static InetSocketAddress createUnresolved(String host,
                                                 int port)
根据主机名和端口号创建未解析的套接字地址。

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

有效端口值介于 0 和 65535 之间。端口号 zero 允许系统在 bind 操作中挑选暂时的端口。

参数:
host - 主机名
port - 端口号
返回:
表示未解析套接字地址的 InetSocketAddress
抛出:
IllegalArgumentException - 如果 port 参数超出有效端口值的范围,或者主机名参数为 null
从以下版本开始:
1.5
另请参见:
isUnresolved()

getPort

public final int getPort()
获取端口号。

返回:
端口号。

getAddress

public final InetAddress getAddress()
获取 InetAddress

返回:
InetAdress;如果未解析,则返回 null

getHostName

public final String getHostName()
获取 hostname

返回:
地址的主机名部分。

isUnresolved

public final boolean isUnresolved()
检查是否已解析地址。

返回:
如果无法将主机名解析为 InetAddress,则返回 true

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部