public class InetSocketAddress
extends SocketAddress
java.lang.Object | ||
↳ | java.net.SocketAddress | |
↳ | java.net.InetSocketAddress |
该类实现IP套接字地址(IP地址+端口号)它也可以是一对(主机名+端口号),在这种情况下将尝试解析主机名。 如果解析失败,那么该地址被认为是未解析的,但仍然可以在某些情况下使用,例如通过代理进行连接。
它提供了一个由套接字用于绑定,连接或作为返回值的不可变对象。
通配符是一个特殊的本地IP地址。 它通常意味着“任何”,只能用于bind
操作。
也可以看看:
Public constructors |
|
---|---|
InetSocketAddress(int port) 创建一个套接字地址,其中IP地址是通配符地址,端口号是指定的值。 |
|
InetSocketAddress(InetAddress addr, int port) 从IP地址和端口号创建套接字地址。 |
|
InetSocketAddress(String hostname, int port) 从主机名和端口号创建一个套接字地址。 |
Public methods |
|
---|---|
static InetSocketAddress |
createUnresolved(String host, int port) 从主机名和端口号创建一个未解析的套接字地址。 |
final boolean |
equals(Object obj) 将此对象与指定的对象进行比较。 |
final InetAddress |
getAddress() 获取 |
final String |
getHostName() 获取 |
final String |
getHostString() 如果没有主机名(它是使用文字创建的),则返回主机名或地址的字符串形式。 |
final int |
getPort() 获取端口号。 |
final int |
hashCode() 返回此套接字地址的哈希码。 |
final boolean |
isUnresolved() 检查地址是否已解决。 |
String |
toString() 构造此InetSocketAddress的字符串表示形式。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
InetSocketAddress (int port)
创建一个套接字地址,其中IP地址是通配符地址,端口号是指定的值。
有效端口值介于0和65535之间。端口号 zero
将使系统在 bind
操作中选取临时端口。
Parameters | |
---|---|
port |
int : The port number |
Throws | |
---|---|
IllegalArgumentException |
if the port parameter is outside the specified range of valid port values. |
InetSocketAddress (InetAddress addr, int port)
从IP地址和端口号创建套接字地址。
有效的端口值介于0和65535之间。端口号 zero
将使系统在 bind
操作中 bind
临时端口。
null
地址将分配 通配符地址。
Parameters | |
---|---|
addr |
InetAddress : The IP address |
port |
int : The port number |
Throws | |
---|---|
IllegalArgumentException |
if the port parameter is outside the specified range of valid port values. |
InetSocketAddress (String hostname, int port)
从主机名和端口号创建一个套接字地址。
将尝试将主机名解析为InetAddress。 如果该尝试失败,该地址将被标记为未解决 。
如果有安全管理器,则使用主机名作为其参数来调用其checkConnect
方法,以检查许可证以解决该问题。 这可能会导致SecurityException。
有效的端口值介于0和65535之间。端口号 zero
将允许系统在 bind
操作中选取临时端口。
Parameters | |
---|---|
hostname |
String : the Host name |
port |
int : The port number |
Throws | |
---|---|
IllegalArgumentException |
if the port parameter is outside the range of valid port values, or if the hostname parameter is null. |
SecurityException |
if a security manager is present and permission to resolve the host name is denied. |
也可以看看:
InetSocketAddress createUnresolved (String host, int port)
从主机名和端口号创建一个未解析的套接字地址。
不会尝试将主机名解析为InetAddress。 该地址将被标记为未解决 。
有效端口值介于0和65535之间。端口号 zero
将使系统在 bind
操作中选取临时端口。
Parameters | |
---|---|
host |
String : the Host name |
port |
int : The port number |
Returns | |
---|---|
InetSocketAddress |
a InetSocketAddress representing the unresolved socket address |
Throws | |
---|---|
IllegalArgumentException |
if the port parameter is outside the range of valid port values, or if the hostname parameter is null. |
也可以看看:
boolean equals (Object obj)
将此对象与指定的对象进行比较。 当且仅当参数不是null
并且它表示与此对象相同的地址时,结果为true
。
如果两个InetAddress(或主机名如果未解析)和端口号相等,则两个InetSocketAddress
实例表示相同的地址。 如果两个地址都未解析,则会比较主机名和端口号。 注意:主机名不区分大小写。 例如“FooBar”和“foobar”被认为是相等的。
Parameters | |
---|---|
obj |
Object : the object to compare against. |
Returns | |
---|---|
boolean |
true if the objects are the same; false otherwise. |
也可以看看:
InetAddress getAddress ()
获取 InetAddress
。
Returns | |
---|---|
InetAddress |
the InetAdress or null if it is unresolved. |
String getHostName ()
获取hostname
。 注意:如果地址是使用文字IP地址创建的,则此方法可能会触发名称服务反向查找。
Returns | |
---|---|
String |
the hostname part of the address. |
String getHostString ()
如果没有主机名(它是使用文字创建的),则返回主机名或地址的字符串形式。 这有利于不尝试反向查找。
Returns | |
---|---|
String |
the hostname, or String representation of the address. |
int hashCode ()
返回此套接字地址的哈希码。
Returns | |
---|---|
int |
a hash code value for this socket address. |
boolean isUnresolved ()
检查地址是否已解决。
Returns | |
---|---|
boolean |
true if the hostname couldn't be resolved into an InetAddress . |
String toString ()
构造此InetSocketAddress的字符串表示形式。 该字符串通过调用InetAddress上的toString()并将端口号(用冒号)连接起来构造而成。 如果地址未解析,则冒号前的部分将只包含主机名。
Returns | |
---|---|
String |
a string representation of this object. |