零點起飛學(xué)Java之Java網(wǎng)絡(luò)編程_第1頁
零點起飛學(xué)Java之Java網(wǎng)絡(luò)編程_第2頁
零點起飛學(xué)Java之Java網(wǎng)絡(luò)編程_第3頁
零點起飛學(xué)Java之Java網(wǎng)絡(luò)編程_第4頁
零點起飛學(xué)Java之Java網(wǎng)絡(luò)編程_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第14章 Java網(wǎng)絡(luò)編程Java語言提供了強大的網(wǎng)絡(luò)編程功能,能夠處理各種網(wǎng)絡(luò)資源以及進行網(wǎng)絡(luò)通信。包定義了Java語言網(wǎng)絡(luò)編程的主要工具類。其中,包括代表網(wǎng)絡(luò)IP地址的InetAddress類;與URL有關(guān)的URL類和URLConnection類;與網(wǎng)絡(luò)通信有關(guān)的Socket類和ServerSocket類。本章節(jié)將對這些內(nèi)容進行詳細介紹。14.1 什么是網(wǎng)絡(luò)編程Internet技術(shù)的發(fā)展促進了Java語言的發(fā)展,網(wǎng)絡(luò)編程是Java語言的重要功能。Java語言提供了強大的網(wǎng)絡(luò)編程功能,能夠處理各種網(wǎng)絡(luò)資源以及進行網(wǎng)絡(luò)通信。這些網(wǎng)絡(luò)功能都定義在包中。net包的結(jié)構(gòu)如圖14.1所示。14.1 什

2、么是網(wǎng)絡(luò)編程對于net包中的內(nèi)容,按功能形式,大體上可以分為如下三類。網(wǎng)絡(luò)資源類:URL是資源的表達方式,在包中主要是通過使用URL和InetAddress類來表示和操作網(wǎng)絡(luò)中的資源。Socket(套接字)類:Socket(套接字)用來實現(xiàn)網(wǎng)絡(luò)通信中客戶端和服務(wù)器的連接。包定義了Socket類和ServerSocket類分別代表通信雙方的客戶端和服務(wù)器端。Datagram(數(shù)據(jù)報)類:Datagram(數(shù)據(jù)報)類以數(shù)據(jù)報的形式實現(xiàn)網(wǎng)絡(luò)通信,是基于無連接的UDP協(xié)議的一種網(wǎng)絡(luò)通信方式。14.2 InetAddress類InetAddress類用于表示網(wǎng)絡(luò)上的IP地址。網(wǎng)絡(luò)中的每臺主機采用IP地址

3、進行標識,Java語言利用包中的InetAddress類對IP地址進行封裝。該類提供了操作IP地址的各種方法,類本身沒有構(gòu)造方法,而是通過調(diào)用相關(guān)靜態(tài)方法獲取實例。InetAddress類中定義的主要方法,如下所示。boolean equals(Object obj):將此對象與指定對象比較。byte getAddress():返回此InetAddress對象的原始IP地址。static InetAddress getAllByName(String host):在給定主機名的情況下,根據(jù)系統(tǒng)上配置的名稱,服務(wù)返回其IP地址所組成的數(shù)組。static InetAddress getByAddr

4、ess(byte addr):在給定原始IP地址的情況下,返回InetAddress對象。static InetAddress getByAddress(String host, byte addr):根據(jù)提供的主機名和IP地址創(chuàng)建InetAddress。static InetAddress getByName(String host):在給定主機名的情況下確定主機的IP地址。String getCanonicalHostName():獲取此IP地址的完全限定域名。String getHostAddress():返回IP地址字符串(以文本表現(xiàn)形式)。String getHostName():獲

5、取此IP地址的主機名。static InetAddress getLocalHost():返回本地主機。int hashCode():返回此IP地址的哈希碼。14.3 URL編程包定義了URL和URLConnection類用來處理有關(guān)URL的內(nèi)容。對于這部分的具體內(nèi)容,下面分別進行介紹。14.3.1 什么是URLURL是統(tǒng)一資源定位符(Uniform Resource Locator)的簡稱,用于表示Internet上某一資源的地址。Internet上的網(wǎng)絡(luò)資源非常豐富,如常見的WWW和FTP站點上的各種文件、目錄等。瀏覽器通過解析給定的URL可以查找網(wǎng)絡(luò)上的這些資源。URL的語法格式通常如圖

6、14.2所示。14.3.2 URL類在包中定義了URL類,該類用來處理有關(guān)URL的內(nèi)容。對于URL類的創(chuàng)建和使用,下面分別進行介紹。1創(chuàng)建URL類URL類的構(gòu)造方法主要有如下幾種URL(String spec):使用指定的字符串構(gòu)建。URL(String protocol, String host, int port, String file):使用指定的協(xié)議、主機名、端口號、文件名創(chuàng)建。URL(String protocol, String host, String file):使用指定的協(xié)議、主機名、文件名創(chuàng)建。URL(URL context, String spec):使用基地址和相對U

7、RL創(chuàng)建。2使用URL類使用URL類的常用方法主要有如下幾種。String getAuthority():獲得此URL的授權(quán)部分。Object getContent():獲得此URL的內(nèi)容。int getDefaultPort():獲得與此URL關(guān)聯(lián)協(xié)議的默認端口號。String getFile():獲得此URL的文件名。String getHost():獲得此URL的主機名(如果適用)。String getPath():獲得此URL的路徑部分。int getPort():獲得此URL的端口號。String getProtocol():獲得此URL的協(xié)議名稱。String getQuery()

8、:獲得此URL的查詢部分。String getRef():獲得此URL的錨點(也稱為“引用”)。14.3.3 URLConnection類在包中定義了URLConnection類,該類用來表示與URL建立的通信連接。URLConnection類的實例通過調(diào)用URL類的openConnection()方法獲得。URLConnection類用于訪問網(wǎng)絡(luò)資源的主要方法如下所示。void addRequestProperty(String key, String value):添加由鍵值對指定的一般請求屬性。abstract void connect():打開到此URL引用的資源的通信鏈接(如果尚未建

9、立這樣的連接)。Object getContent():檢索此URL連接的內(nèi)容。long getDate():返回date頭字段的值。boolean getDefaultUseCaches():返回URLConnection的useCaches標志的默認值。InputStream getInputStream():返回從此打開的連接讀取的輸入流。OutputStream getOutputStream():返回寫入到此連接的輸出流。URL getURL():返回此URLConnection的URL字段的值。boolean getUseCaches():返回此URLConnection的useC

10、aches字段的值。14.4 Socket編程Socket(套接字)用來實現(xiàn)網(wǎng)絡(luò)通信中客戶端和服務(wù)器的連接。包定義了Socket類和ServerSocket類分別代表通信雙方的客戶端和服務(wù)器端。對于這部分的具體內(nèi)容,下面分別進行介紹。14.4.1 Socket類Socket類用于表示通信雙方中的客戶端,該類可以向服務(wù)器端發(fā)送連接請求。Socket類的構(gòu)造方法主要有如下幾種。Socket():無參構(gòu)造方法。Socket(InetAddress address, int port):創(chuàng)建Socket對象,并連接到指定IP地址address的指定端口號port。Socket(InetAddress

11、address, int port, InetAddress localAddr, int localPort):創(chuàng)建Socket對象,并連接到指定IP地址address的指定端口號port。同時綁定本機地址localAddr及本機端口號localPort。Socket(String host, int port):創(chuàng)建Socket對象,并連接到指定主機host的指定端口號port。Socket(String host, int port, InetAddress localAddr, int localPort):創(chuàng)建Socket對象,并連接到指定主機host的指定端口號port。同時綁定本

12、機地址localAddr及本機端口號localPort。 創(chuàng)建了Socket類的對象以后,可以調(diào)用Socket類的相關(guān)方法獲取各種屬性信息以及與服務(wù)器進行通信。Socket類的常用方法如下所示。void bind(SocketAddress bindpoint):將套接字綁定到本地地址。void close():關(guān)閉此套接字。14.4.2 ServerSocket類與Socket類相對應(yīng),ServerSocket類用于表示通信雙方中的服務(wù)器端。該類可以監(jiān)聽客戶端發(fā)送的連接請求并進行處理。ServerSocket類的構(gòu)造方法主要有如下幾種。ServerSocket ():無參構(gòu)造方法。Serve

13、rSocket (int port):創(chuàng)建ServerSocket對象,并監(jiān)聽指定的端口號port。ServerSocket (int port, int backlog):使用指定的backlog創(chuàng)建ServerSocket對象,同時綁定到指定的本地端口號port。ServerSocket(int port, int backlog, InetAddress bindAddr):使用指定的端口號port創(chuàng)建ServerSocket對象,同時監(jiān)聽backlog并綁定本地IP地址bindAddr。創(chuàng)建了ServerSocket類的對象以后,服務(wù)器可以對指定的端口進行監(jiān)聽。通過調(diào)用ServerSocket類的相關(guān)方法可以接收客戶端的請求從而與之通信。ServerSocket類的常用方法如下所示。Socket accept():偵聽并接收到此套接字的連接。void bind(SocketAddress endpoint):將ServerSocket綁定到特定地址(IP地址和端口號)。說明:ServerSocket類的accetp()方法會阻塞程序的執(zhí)行,直到接收了一個客戶端

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論