JavaTM 2 Platform
Standard Ed. 6

軟體套件 java.net

為實作網路應用程序提供類別。

請參見:
          描述

介面摘要
ContentHandlerFactory 此介面定義內容處理程序的處理器。
CookiePolicy CookiePolicy 實作決定應該接受哪個 cookie 以及應該拒絕哪個 cookie。
CookieStore 表示 cookie 存儲區的 CookieStore 物件。
DatagramSocketImplFactory 此介面定義用於資料電報Socket實作的處理器。
FileNameMap 提供在檔案名和 MIME 型別字元串之間進行映射的機制的簡單介面。
SocketImplFactory 此介面定義用於Socket實作的處理器。
SocketOptions 獲取/設置Socket選項的方法的介面。
URLStreamHandlerFactory 該介面為 URL 串流協議處理程序定義一個處理器。
 

類別摘要
Authenticator Authenticator 類別表示懂得如何獲得網路連接驗證的物件。
CacheRequest 表示在 ResponseCache 中存儲資源的通道。
CacheResponse 表示從 ResponseCache 獲取資源的通道。
ContentHandler 抽象類別 ContentHandler 是從 URLConnection 讀取 Object 的全部類別的父級類別。
CookieHandler CookieHandler 物件提供一種回調機制以將 HTTP 狀態管理策略實作掛鉤到 HTTP 協議處理程序。
CookieManager CookieManager 提供 CookieHandler 的具體實作,它將 cookie 的存儲區與圍繞接受和拒絕 cookie 的策略分離開來。
DatagramPacket 此類別表示資料電報封包。
DatagramSocket 此類別表示用來發送和接收資料電報封包的Socket。
DatagramSocketImpl 資料電報和多點傳送Socket實作的抽象基礎類別。
HttpCookie HttpCookie 物件表示一個 http cookie,該 cookie 帶有伺服器和使用者代理之間的狀態資訊。
HttpURLConnection 支持 HTTP 特定功能的 URLConnection。
IDN 提供在普通 Unicode 表示形式和 ASCII 相容性編碼 (ACE) 表示形式之間進行國際化域名 (IDN) 轉換的方法。
Inet4Address 此類別表示 Internet Protocol version 4 (IPv4) 位址。
Inet6Address 此類別表示網際網路協議第 6 版 (IPv6) 位址。
InetAddress 此類別表示網際網路協議 (IP) 位址。
InetSocketAddress 此類別實作 IP Socket位址(IP 位址 + 埠號號)。
InterfaceAddress 此類別表示網路介面位址。
JarURLConnection 連接到 Java ARchive (JAR) 檔案或 JAR 檔案中條目的 URL Connection。
MulticastSocket 多點傳送資料電報Socket類別用於發送和接收 IP 多點傳送套件。
NetPermission 此類別可用於各種網路權限。
NetworkInterface 此類別表示一個由名稱和分派給此介面的 IP 位址列表組成的網路介面。
PasswordAuthentication PasswordAuthentication 類別是供 Authenticator 使用的資料持有者。
Proxy 此類別表示代理設置,通常為型別(http、socks)和Socket位址。
ProxySelector 連接到 URL 參考的網路資源時選擇要使用的代理伺服器(如果有)。
ResponseCache 表示 URLConnection 快取記憶體的實作。
SecureCacheResponse 表示最初通過安全方法(如 TLS)獲得的快取記憶體回應。
ServerSocket 此類別實作伺服器Socket。
Socket 此類別實作客戶端Socket(也可以就叫“Socket”)。
SocketAddress 此類別表示不帶任何協議附件的 Socket Address。
SocketImpl 抽象類別 SocketImpl 是實際實作Socket的全部類別的通用父級類別。
SocketPermission 此類別表示通過Socket對網路的存取。
URI 表示一個統一資源標識符 (URI) 參考。
URL 類別 URL 代表一個統一資源定位符,它是指向網際網路“資源”的指針。
URLClassLoader 該類別載入器用於從指向 JAR 檔案和目錄的 URL 的搜尋路徑載入類別和資源。
URLConnection 抽象類別 URLConnection 是全部類別的父級類別,它代表應用程序和 URL 之間的通信連接。
URLDecoder HTML 格式解碼的實用工具類別。
URLEncoder HTML 格式編碼的實用工具類別。
URLStreamHandler 抽象類別 URLStreamHandler 是所有串流協議處理程序的通用父級類別。
 

列舉摘要
Authenticator.RequestorType 請求驗證的實體的型別。
Proxy.Type 表示代理型別。
 

異常摘要
BindException 試圖將Socket綁定到本地位址和埠號時發生錯誤的情況下,拋出此異常。
ConnectException 試圖將Socket連接到遠端位址和埠號時發生錯誤的情況下,拋出此異常。
HttpRetryException 拋出此異常指示 HTTP 請求需要重試,但由於啟用了串流網要而無法自動重試。
MalformedURLException 拋出這一異常指示出現了錯誤的 URL。
NoRouteToHostException 試圖將Socket連接到遠端位址和埠號時發生錯誤的情況下,拋出此異常。
PortUnreachableException 在連接的資料電報上已接收到 ICMP Port Unreachable 訊息時,拋出該異常。
ProtocolException 拋出此異常指示在底層協議中存在錯誤,如 TCP 錯誤。
SocketException 拋出此異常指示在底層協議中存在錯誤,如 TCP 錯誤。
SocketTimeoutException 如果在讀取或接受Socket時發生逾時,則拋出此異常。
UnknownHostException 指示主機 IP 位址無法確定而拋出的異常。
UnknownServiceException 拋出這一異常指示出現了未知服務異常。
URISyntaxException 拋出經過檢查的指示字元串不能解析為 URI 參考的異常。
 

軟體套件 java.net 的描述

為實作網路應用程序提供類別。

java.net 套件可以大致分為兩個部分:

位址

在整個 java.net API 中,位址或者用作主機標識符或者用作Socket端點標識符。

InetAddress 類別是表示 IP(Internet 協議)位址的抽象。它擁有兩個子類別:

但是,在大多數情況下,不必直接處理子類別,因為 InetAddress 抽象應該覆寫大多數必需的功能。

關於 IPv6

並非所有系統都支持 IPv6 協議,而當 Java 網路連接堆疊(stack)空間嘗試檢測它並在可用時透明地使用它時,還可以利用系統屬性禁用它。在 IPv6 不可用或被顯式禁用的情況下,Inet6Address 對大多數網路連接操作都不再是有效參數。雖然可以保證在尋找主機名時 java.net.InetAddress.getByName 之類別的方法不返回 Inet6Address,但仍然可能通過傳遞文字值來創建此類別物件。在此情況下,大多數方法在使用 Inet6Address 調用時都將拋出異常。

Socket

Socket是在網路上建立機器之間的通信連接的方法。java.net 套件提供 4 種Socket:

使用 TCP Socket的發送和接收操作需要借助 InputStream 和 OutputStream 來完成,這兩者是通過 Socket.getInputStream()Socket.getOutputStream() 方法獲取的。

介面

NetworkInterface 類別提供 API 以瀏覽和查詢本地機器的所有網路介面(例如,以太網連接或 PPP 端點)。只有通過該類別才可以檢查是否將所有本地介面都配置為支持 IPv6。

高層級 API

java.net 套件中的許多類別可以提供更加高層級的抽象,允許方便地存取網路上的資源。這些類別為:

建議的用法是使用 URI 指定資源,然後在存取資源時將其轉換為 URL。從該 URL 可以獲取 URLConnection 以進行良好控制,也可以直接獲取 InputStream。

下面是一個範例:

URI uri = new URI("http://java.sun.com/");
URL url = uri.toURL();
InputStream in = url.openStream();

協議處理程序

如上所述,URL 和 URLConnection 都依賴於協議處理程序,所以協議處理程序必須存在;否則將拋出異常。此為與 URI 的主要不同點,URI 僅標識資源,所以不必存取協議處理程序。因此,儘管可能利用任何種類別的協議方案(例如,myproto://myhost.mydomain/resource/)創建 URI,但類似的 URL 仍將試圖實例化指定協議的處理程序;如果指定協議的處理程序不存在,則拋出異常。

預設情況下,協議處理程序從預設位置動態載入。但是,通過設置 java.protocol.handler.pkgs 系統屬性也可能增加搜尋路徑。例如,如果將其設置為 myapp.protocols,則 URL 程式碼將首先嘗試(對於 http 而言)載入 myapp.protocols.http.Handler,然後,如果失敗,則嘗試從預設位置載入 http.Handler

注意,處理程序類別必須為抽象類別 URLStreamHandler 的子類別。

從以下版本開始:
JDK1.0

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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