public class InetSocketAddress extends SocketAddress
它提供了用于绑定,连接或返回值的套接字所使用的不可变对象。
通配符是一个特殊的本地IP地址。 通常意味着“任何”,只能用于bind
操作。
Socket
, ServerSocket
, Serialized Form
Constructor and Description |
---|
InetSocketAddress(InetAddress addr, int port)
从IP地址和端口号创建套接字地址。
|
InetSocketAddress(int port)
创建一个套接字地址,其中IP地址为通配符地址,端口号为指定值。
|
InetSocketAddress(String hostname, int port)
从主机名和端口号创建套接字地址。
|
Modifier and Type | Method and Description |
---|---|
static InetSocketAddress |
createUnresolved(String host, int port)
从主机名和端口号创建未解析的套接字地址。
|
boolean |
equals(Object obj)
将此对象与指定对象进行比较。
|
InetAddress |
getAddress()
获得
InetAddress 。
|
String |
getHostName()
获得
hostname 。
|
String |
getHostString()
如果没有主机名(使用文字创建),则返回主机名或地址的String形式。
|
int |
getPort()
获取端口号。
|
int |
hashCode()
返回该套接字地址的哈希码。
|
boolean |
isUnresolved()
检查地址是否已解决。
|
String |
toString()
构造此InetSocketAddress的字符串表示形式。
|
public InetSocketAddress(int port)
有效端口值是0和65535之间的端口号zero
会让系统拾取临时端口在bind
操作。
port
- 端口号
IllegalArgumentException
- 如果端口参数超出了有效端口值的指定范围。
public InetSocketAddress(InetAddress addr, int port)
有效端口值是0和65535之间的端口号zero
会让系统拾取临时端口在bind
操作。
A null
地址将分配通配符地址。
addr
- IP地址
port
- 端口号
IllegalArgumentException
- 如果端口参数超出了有效端口值的指定范围。
public InetSocketAddress(String hostname, int port)
将尝试将主机名解析为InetAddress。 如果尝试失败,该地址将被标记为未解决 。
如果有安全管理器,则调用其checkConnect
方法,其主机名称作为其参数,以检查其解决方法的权限。 这可能会导致SecurityException。
有效端口值是0和65535之间的端口号zero
会让系统拾取临时端口在bind
操作。
hostname
- 主机名
port
- 端口号
IllegalArgumentException
- 如果端口参数超出有效端口值的范围,或者主机名参数是
null 。
SecurityException
- 如果存在安全管理器,并且拒绝解析主机名的权限。
isUnresolved()
public static InetSocketAddress createUnresolved(String host, int port)
不会尝试将主机名解析为InetAddress。 该地址将被标记为未解决 。
有效端口值是0和65535之间的端口号zero
会让系统拾取临时端口在bind
操作。
host
- 主机名
port
- 端口号
InetSocketAddress
表示未解析的套接字地址
IllegalArgumentException
- 如果端口参数超出有效端口值的范围,或者主机名参数是否为
null 。
isUnresolved()
public final int getPort()
public final InetAddress getAddress()
InetAddress
。
null
如果没有解决。
public final String getHostName()
hostname
。
注意:如果地址是使用文字IP地址创建的,则此方法可能会触发名称服务反向查找。
public final String getHostString()
public final boolean isUnresolved()
true
如果主机名无法解析为
InetAddress
。
public String toString()
public final boolean equals(Object obj)
true
当且仅当参数不是null
,它代表与该对象相同的地址。
如果InetAddresses(或主机名未解决)和端口号相等,则两个InetSocketAddress
实例表示相同的地址。 如果两个地址都未解决,则比较主机名和端口号。 注意:主机名不区分大小写。 例如“FooBar”和“foobar”被认为是相等的。
equals
在
Object
obj
- 要比较的对象。
true
如果对象是相同的;
false
否则。
InetAddress.equals(java.lang.Object)
public final int hashCode()
hashCode
在
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)