JavaTM 2 Platform
Standard Ed. 6

java.net
類別 InetSocketAddress

java.lang.Object
  繼承者 java.net.SocketAddress
      繼承者 java.net.InetSocketAddress
所有已實作的介面:
Serializable

public class InetSocketAddress
extends SocketAddress

此類別實作 IP Socket位址(IP 位址 + 埠號號)。它還可以是一個對(主機名 + 埠號號),在此情況下,將嘗試解析主機名。如果解析失敗,則該位址將被視為未解析 位址,但是其在某些情形下仍然可以使用,比如通過代理連接。

它提供不可變物件,供Socket用於綁定、連接或用作返回值。

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

從以下版本開始:
1.4
另請參見:
Socket, ServerSocket, 序列化表格

建構子摘要
InetSocketAddress(InetAddress addr, int port)
          根據 IP 位址和埠號號創建Socket位址。
InetSocketAddress(int port)
          創建Socket位址,其中 IP 位址為通配符位址,埠號號為指定值。
InetSocketAddress(String hostname, int port)
          根據主機名和埠號號創建Socket位址。
 
方法摘要
static InetSocketAddress createUnresolved(String host, int port)
          根據主機名和埠號號創建未解析的Socket位址。
 boolean equals(Object obj)
          將此物件與指定物件比較。
 InetAddress getAddress()
          獲取 InetAddress
 String getHostName()
          獲取 hostname
 int getPort()
          獲取埠號號。
 int hashCode()
          返回此Socket位址的雜湊碼。
 boolean isUnresolved()
          檢查是否已解析位址。
 String toString()
          建構此 InetSocketAddress 的字元串表示形式。
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

InetSocketAddress

public InetSocketAddress(int port)
創建Socket位址,其中 IP 位址為通配符位址,埠號號為指定值。

有效埠號值介於 0 和 65535 之間。埠號號 zero 允許系統在 bind 操作中挑選暫時的埠號。

參數:
port - 埠號號
拋出:
IllegalArgumentException - 如果 port 參數超出有效埠號值的指定範圍。

InetSocketAddress

public InetSocketAddress(InetAddress addr,
                         int port)
根據 IP 位址和埠號號創建Socket位址。

有效埠號值介於 0 和 65535 之間。埠號號 zero 允許系統在 bind 操作中挑選暫時的埠號。

null 位址將分派通配符 位址。

參數:
addr - IP 位址
port - 埠號號
拋出:
IllegalArgumentException - 如果 port 參數超出有效埠號值的指定範圍。

InetSocketAddress

public InetSocketAddress(String hostname,
                         int port)
根據主機名和埠號號創建Socket位址。

嘗試將主機名解析為 InetAddress。如果嘗試失敗,則將位址標記為未解析

如果存在安全管理器,則將主機名用作參數調用其 checkConnect 方法,以檢查解析它的權限。這可能會導致 SecurityException 異常。

有效埠號值介於 0 和 65535 之間。埠號號 zero 允許系統在 bind 操作中挑選暫時的埠號。

參數:
hostname - 主機名
port - 埠號號
拋出:
IllegalArgumentException - 如果 port 參數超出有效埠號值的範圍,或者主機名參數為 null
SecurityException - 如果存在安全管理器,但拒絕解析主機名的權限。
另請參見:
isUnresolved()
方法詳細資訊

createUnresolved

public static InetSocketAddress createUnresolved(String host,
                                                 int port)
根據主機名和埠號號創建未解析的Socket位址。

不會嘗試將主機名解析為 InetAddress。將位址標記為未解析

有效埠號值介於 0 和 65535 之間。埠號號 zero 允許系統在 bind 操作中挑選暫時的埠號。

參數:
host - 主機名
port - 埠號號
返回:
表示未解析Socket位址的 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

toString

public String toString()
建構此 InetSocketAddress 的字元串表示形式。此 String 通過在 InetAddress 上調用 toString() 並連接埠號號(使用冒號)來建構。如果未解析位址,則冒號之前的部分將僅包含主機名。

覆寫:
類別 Object 中的 toString
返回:
此物件的字元串表示形式。

equals

public final boolean equals(Object obj)
將此物件與指定物件比較。當且僅當參數不為 null,並且它表示與此物件相同的位址時,結果才為 true

如果 InetSocketAddress 的兩個實例的 InetAddress(或主機名,如果未解析的話)和埠號號都相等,則它們表示同一個位址。如果兩個位址都未解析,則比較主機名和埠號號。

覆寫:
類別 Object 中的 equals
參數:
obj - 要與之比較的物件。
返回:
如果物件相同,則返回 true;否則,返回 false
另請參見:
InetAddress.equals(java.lang.Object)

hashCode

public final int hashCode()
返回此Socket位址的雜湊碼。

覆寫:
類別 Object 中的 hashCode
返回:
此Socket位址的雜湊碼值。
另請參見:
Object.equals(java.lang.Object), Hashtable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only