- java.lang.Object
 -  
      
- java.net.SocketAddress
 -  
        
- java.net.InetSocketAddress
 
 
 
-  
       
- 实现的所有接口
 -  
         
Serializable 
public class InetSocketAddress extends SocketAddress
此类实现IP套接字地址(IP地址+端口号)它也可以是一对(主机名+端口号),在这种情况下,将尝试解析主机名。 如果解析失败,则说该地址未解析但仍可在某些情况下使用,例如通过代理连接。它提供了一个由套接字用于绑定,连接或作为返回值的不可变对象。
通配符是一个特殊的本地IP地址。 它通常表示“任意”,只能用于
bind操作。- 从以下版本开始:
 - 1.4
 - 另请参见:
 -  
         
Socket,ServerSocket, Serialized Form 
 
-  
        
       
-  
             
构造方法摘要
构造方法 构造器 描述 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()获取hostname。StringgetHostString()如果没有主机名(它是使用文字创建的),则返回主机名或地址的String形式。intgetPort()获取端口号。inthashCode()返回此套接字地址的哈希码。booleanisUnresolved()检查地址是否已解决。StringtoString()构造此InetSocketAddress的字符串表示形式。 
 -  
             
 
-  
        
       
-  
             
构造方法详细信息
-  
InetSocketAddress
public InetSocketAddress(int port)
创建一个套接字地址,其中IP地址是通配符地址,端口号是指定值。有效端口值介于0和65535之间。端口号
zero将使系统在bind操作中bind临时端口。- 参数
 -  
              
port- 端口号 - 异常
 -  
              
IllegalArgumentException- 如果port参数超出指定的有效端口值范围。 
 
-  
InetSocketAddress
public InetSocketAddress(InetAddress addr, int port)
根据IP地址和端口号创建套接字地址。有效端口值介于0和65535之间。端口号
zero将让系统在bind操作中bind临时端口。null地址将分配通配符地址。- 参数
 -  
              
addr- IP地址 -  
              
port- 端口号 - 异常
 -  
              
IllegalArgumentException- 如果port参数超出指定的有效端口值范围。 
 
-  
InetSocketAddress
public InetSocketAddress(String hostname, int port)
根据主机名和端口号创建套接字地址。将尝试将主机名解析为InetAddress。 如果该尝试失败,则该地址将被标记为未解析 。
如果有安全管理器,
checkConnect主机名作为参数调用其checkConnect方法,以检查解析权限。 这可能会导致SecurityException。有效端口值介于0和65535之间。端口号
zero将允许系统在bind操作中bind临时端口。- 参数
 -  
              
hostname- 主机名 -  
              
port- 端口号 - 异常
 -  
              
IllegalArgumentException- 如果port参数超出有效端口值的范围,或者hostname参数为null。 -  
              
SecurityException- 如果存在安全管理器,则拒绝解析主机名的权限。 - 另请参见:
 -  
              
isUnresolved() 
 
 -  
 
-  
             
方法详细信息
-  
createUnresolved
public static InetSocketAddress createUnresolved(String host, int port)
从主机名和端口号创建未解析的套接字地址。不会尝试将主机名解析为InetAddress。 该地址将被标记为未解决 。
有效端口值介于0和65535之间。端口号
zero将让系统在bind操作中选取一个临时端口。- 参数
 -  
              
host- 主机名 -  
              
port- 端口号 - 结果
 -  
              
InetSocketAddress表示未解析的套接字地址 - 异常
 -  
              
IllegalArgumentException- 如果port参数超出有效端口值的范围,或者hostname参数为null。 - 从以下版本开始:
 - 1.5
 - 另请参见:
 -  
              
isUnresolved() 
 
-  
getPort
public final int getPort()
获取端口号。- 结果
 - 端口号。
 
 
-  
getAddress
public final InetAddress getAddress()
获取InetAddress。- 结果
 - 
               如果未解析,则为InetAddress或 
              
null。 
 
-  
getHostName
public final String getHostName()
获取hostname。 注意:如果地址是使用文字IP地址创建的,则此方法可能会触发名称服务反向查找。- 结果
 - 地址的主机名部分。
 
 
-  
getHostString
public final String getHostString()
如果没有主机名(它是使用文字创建的),则返回主机名或地址的String形式。 这具有不尝试反向查找的益处。- 结果
 - 主机名或地址的String表示形式。
 - 从以下版本开始:
 - 1.7
 
 
-  
isUnresolved
public final boolean isUnresolved()
检查地址是否已解决。- 结果
 -  
              
true如果无法将主机名解析为InetAddress。 
 
-  
toString
public String toString()
构造此InetSocketAddress的字符串表示形式。 通过在InetAddress上调用toString()并连接端口号(带冒号)来构造此String。 如果地址未解析,则冒号前的部分将仅包含主机名。 
-  
equals
public final boolean equals(Object obj)
将此对象与指定的对象进行比较。 当且仅当参数不是null并且它表示与此对象相同的地址时,结果为true。如果InetAddresses(或主机名,如果它未解析)和端口号相等,则
InetSocketAddress两个实例表示相同的地址。 如果两个地址都未解析,则比较主机名和端口号。 注意:主机名不区分大小写。 例如,“FooBar”和“foobar”被认为是相同的。- 重写:
 -  
              
equals在类Object - 参数
 -  
              
obj- 要比较的对象。 - 结果
 -  
              
true如果对象相同; 否则为false。 - 另请参见:
 -  
              
InetAddress.equals(java.lang.Object) 
 
-  
hashCode
public final int hashCode()
返回此套接字地址的哈希码。- 重写:
 -  
              
hashCode类Object - 结果
 - 此套接字地址的哈希码值。
 - 另请参见:
 -  
              
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object) 
 
 -  
 
 -