![Java的網(wǎng)絡(luò)功能課件_第1頁(yè)](http://file4.renrendoc.com/view12/M06/28/2C/wKhkGWeQ27aAOpOQAAIUCrRnRDs548.jpg)
![Java的網(wǎng)絡(luò)功能課件_第2頁(yè)](http://file4.renrendoc.com/view12/M06/28/2C/wKhkGWeQ27aAOpOQAAIUCrRnRDs5482.jpg)
![Java的網(wǎng)絡(luò)功能課件_第3頁(yè)](http://file4.renrendoc.com/view12/M06/28/2C/wKhkGWeQ27aAOpOQAAIUCrRnRDs5483.jpg)
![Java的網(wǎng)絡(luò)功能課件_第4頁(yè)](http://file4.renrendoc.com/view12/M06/28/2C/wKhkGWeQ27aAOpOQAAIUCrRnRDs5484.jpg)
![Java的網(wǎng)絡(luò)功能課件_第5頁(yè)](http://file4.renrendoc.com/view12/M06/28/2C/wKhkGWeQ27aAOpOQAAIUCrRnRDs5485.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java的網(wǎng)路功能
概述
TCP/IP(TransmissionControlProtocol/InternetProtocol,傳輸控制協(xié)議/網(wǎng)間協(xié)議)包括五個(gè)層次:應(yīng)用層、傳輸層、網(wǎng)路層、鏈路層、物理層
ISO/OSI網(wǎng)路參考模型包括七個(gè)層次:應(yīng)用層、表示層、會(huì)話層、傳輸層、網(wǎng)路層、鏈路層、物理層
概述IP地址
網(wǎng)路中的硬體資源標(biāo)識(shí)
是一個(gè)32位的整數(shù),通常以“%d.%d.%d.%d”的形式表示,每個(gè)d是一個(gè)8位整數(shù)
端口號(hào)(port)標(biāo)記機(jī)器的邏輯通信通道的正整數(shù),不是物理實(shí)體一個(gè)16位的整數(shù)表達(dá),其範(fàn)圍為0~65535,其中0~1023為系統(tǒng)所保留
Socket(套接字)網(wǎng)路上運(yùn)行的程式之間雙向通信鏈路的最後終結(jié)點(diǎn),是TCP和UDP的基礎(chǔ)
概述TCP協(xié)議具有可靠性和有序性,並且以位元組流的方式發(fā)送數(shù)據(jù),它通常被稱為流通信協(xié)議。端點(diǎn)與端點(diǎn)之間建立持續(xù)的連接當(dāng)對(duì)所傳輸?shù)臄?shù)據(jù)具有時(shí)序性和可靠性等要求時(shí),應(yīng)使用TCP協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議UDP一種無(wú)連接的傳輸協(xié)議
需要將傳輸?shù)臄?shù)據(jù)定義成數(shù)據(jù)報(bào)(Datagram),在數(shù)據(jù)報(bào)中指明數(shù)據(jù)所要達(dá)到的端點(diǎn)(Socket,主機(jī)地址和端口號(hào)),再將數(shù)據(jù)報(bào)發(fā)送出去當(dāng)傳輸?shù)臄?shù)據(jù)比較簡(jiǎn)單、對(duì)時(shí)序等無(wú)要求時(shí)應(yīng)使用UDP協(xié)議Java的網(wǎng)路功能
按層次及使用方法分為四大類
InetAddress
面向IP層,用於標(biāo)識(shí)網(wǎng)路上的硬體資源URL
面向應(yīng)用層,可以通過(guò)URL的網(wǎng)路資源表達(dá)形式確定數(shù)據(jù)在網(wǎng)路中的位置Socket
面向傳輸層,使用的是TCP協(xié)議
Datagram
面向傳輸層,使用的是UDP協(xié)議,是另一種網(wǎng)路傳輸方式,它把數(shù)據(jù)的目的地記錄在數(shù)據(jù)包中,然後直接放在網(wǎng)路上
主要的類及例外
使用InetAddress
構(gòu)造一個(gè)InetAddress實(shí)例沒(méi)有構(gòu)造函數(shù),因此不能用new來(lái)構(gòu)造
publicstaticInetAddressgetByName(Stringhost);
publicstaticInetAddressgetLocalHost();publicstaticInetAddress[]getAllByName(Stringhost)
host可以是一臺(tái)機(jī)器名,也可以是一個(gè)形如“%d.%d.%d.%d”的IP地址或一個(gè)DSN功能變數(shù)名稱。
InetAddress類主要方法
publicbyte[]getAddress()獲得本對(duì)象的IP地址(存放在位元組數(shù)組中)publicStringgetHostAddress()獲得本對(duì)象的IP地址“%d.%d.%d.%d”publicStringgetHostName()獲得本對(duì)象的機(jī)器名程式12-1
演示Java如何根據(jù)功能變數(shù)名稱自動(dòng)到DNS(功能變數(shù)名稱服務(wù))上查找IP地址程式12-1
執(zhí)行GetIP後,可以得到下列資訊:
www.nankai.edu.cn/3
獲取本機(jī)的IP地址
例12-1本機(jī)名稱和地址統(tǒng)一資源定位器
URL是UniformResourceLocator(統(tǒng)一資源定位器)的縮寫,它表示Internet上某一資源的地址
nternet上的資源包括HTML檔、圖象檔、聲音檔、動(dòng)畫檔以及其他任何內(nèi)容URL包括兩部分內(nèi)容
協(xié)議名稱和資源名稱,中間用冒號(hào)隔開
Protocol:resourceName
URL的具體結(jié)構(gòu)
protocol://host_name:port_number/file_name/reference
protocol: 用來(lái)指示所要獲取資源的傳輸協(xié)議, 如:http、ftp、gopher、file等host_name: 用來(lái)指示資源所在的主機(jī)port_number:
用來(lái)指示連接時(shí)所使用的通信端口號(hào)file_name: 用來(lái)指示該資源在主機(jī)的完整檔案名reference: 指示資源中的某個(gè)特定位置http://www.nankai.edu.cn:80/whitePaper/Javawhitepaper_1.htmlhttp://www.abc.com:8080/java/network.html#UDPhttp://www.neca.com/~vmis/java.htmlURL的構(gòu)造方法publicURL(Stringspec)
將整個(gè)URL的名稱直接以字串的形式作為參數(shù)傳入即可
publicURL(URLcontext,Stringspec)
可以表示相對(duì)URL位置的定義
第一個(gè)參數(shù)設(shè)為null,那麼它的作用就和第一種方式相同了
URLurl1=newURL("http://www.nankai.edu.cn");
URLhost=newURL("file://export/home/Java/image/");URLaImage=newURL(host,getParameter("FILENAME"));
URL的構(gòu)造方法publicURL(Stringprotocol,Stringhost,Stringfile)
publicURL(Stringprotocol,Stringhost,intport,Stringfile)
直接指定每個(gè)域的內(nèi)容,而不是直接給出一個(gè)字串來(lái)表示。必須給出確定的傳輸協(xié)議、機(jī)器名稱、檔案名,或者加上端口號(hào)
比如以::80/whitePaper/Javawhitepaper_1.html為例,構(gòu)造方式為:URLurl3=newURL("http","",80,"/whitePaper/Javawhitepaper_1.html");
與URL相關(guān)的異常
類URL的構(gòu)造方法中都聲明拋出非運(yùn)行時(shí)異常——MalformedURLException
查看示例12-1獲取URL對(duì)象屬性StringgetProtocol() 獲取傳輸協(xié)議
StringgetHost()
獲取機(jī)器名稱
StringgetPort()
獲取通信端口號(hào)
StringgetFile()
獲取資源檔案名稱
StringgetRef()
獲取參考點(diǎn)下麵的兩個(gè)方法將URL對(duì)象的內(nèi)容以字串的形式來(lái)表示,它們的作用是相同的
StringtoString() StringtoExternalForm()
程式12-2
程式12-2中創(chuàng)建了一個(gè)URL對(duì)象,然後輸出其屬性
讀入U(xiǎn)RL數(shù)據(jù)
openStream()方法
讀取一個(gè)URL對(duì)象所指定的資源。與指定的URL建立連接並返回一個(gè)InputStream對(duì)象程式12-3在命令行中指定一個(gè)合理的檔案名,便可以顯示出檔的內(nèi)容,其功能類似於DOS中的type命令A(yù)pplet中網(wǎng)路通訊
在Applet中將URL和InetAddress聯(lián)合使用來(lái)得到相關(guān)的IP地址1)通過(guò)類Applet的getCodeBase()方法獲得提供它的主機(jī)的URL實(shí)例2)利用類URL的getHost()方法得到主機(jī)名3)利用類InetAddress的getByName()得到該主機(jī)的IP地址4)通過(guò)IP地址,就可以進(jìn)行網(wǎng)路通信了,使用的協(xié)議包括TCP或是UDP。見例12-2
應(yīng)用程式和URL資源之間進(jìn)行交互
通過(guò)URLConnection類,可以在應(yīng)用程式和URL資源之間進(jìn)行交互,既可以從URL中讀取數(shù)據(jù),也可以向URL中發(fā)送數(shù)據(jù)
openStream()只能從網(wǎng)路上讀取資源中的數(shù)據(jù)URLConnection中方法
publicURLConnection
openConnection() publicInputStream
getInputStream() publicOutputStream
getOutputStream()例12-3
程式12-4
socket介面在Java中,基於TCP協(xié)議實(shí)現(xiàn)網(wǎng)路通信的類有兩個(gè):在客戶端的Socket類和在伺服器端的ServerSocket類。SeverSocket類的功能是建立一個(gè)Sever,並通過(guò)accept()方法隨時(shí)監(jiān)聽客戶端的連接請(qǐng)求
類Socket方法構(gòu)造方法Socket的輸入/輸出流管理方法
Socket(InetAddressaddress,intport);Socket(InetAddressaddress,intport,booleanstream);Socket(Stringhost,intport);Socket(Stringhost,intport,booleanstream);
stream則表示該socket是否是支持流的socket
publicInputStreamgetInputStream()publicvoidshutdownInput()publicOutputStreamgetOutputStream()publicvoidshutdownOutput()
Socket的方法
關(guān)閉Socket的方法
設(shè)置/獲取Socket數(shù)據(jù)的方法為
publicvoidclose()throwsIOException
publicInetAddressgetInetAddress()publicintgetPort()publicvoidsetSoTimeout(inttimeout)
類ServerSocket方法
類ServerSocket的構(gòu)造方法
其他方法publicServerSocket(intport)publicServerSocket(intport,intbacklog):支持指定數(shù)目的連接publicServerSocket(intport,intbacklog,InetAddress
bindAddr)publicSocketaccept():等待客戶端的連接socket的基本概念
建立連接當(dāng)程式需要建立網(wǎng)路連接時(shí),必須有一臺(tái)機(jī)器運(yùn)行一個(gè)程式,隨時(shí)等候連接,而另一端的程式則對(duì)其發(fā)出連接請(qǐng)求,同電話系統(tǒng)類似
建立連接的過(guò)程
伺服器端生成一個(gè)ServerSocket實(shí)例對(duì)象,隨時(shí)監(jiān)聽客戶端的連接請(qǐng)求
客戶端生成一個(gè)Socket實(shí)例對(duì)象,併發(fā)出連接請(qǐng)求伺服器端通過(guò)accept()方法接收到客戶端的請(qǐng)求後,開闢一個(gè)介面與之進(jìn)行連接,並生成所需的I/O數(shù)據(jù)流。通信都是通過(guò)一對(duì)InputStream和OutputStream進(jìn)行的。通信結(jié)束後,兩端分別關(guān)閉對(duì)應(yīng)的Socket介面
socket的基本概念連接地址當(dāng)程式建立網(wǎng)路連接時(shí),需要知道地址或主機(jī)名稱。另外,網(wǎng)路連接還需要一個(gè)端口號(hào)
端口號(hào)
在兩個(gè)程式連接之前,彼此之間必須達(dá)成一致,只有客戶端和服務(wù)器端指定端口號(hào)一致時(shí)連接才會(huì)建立網(wǎng)路連接模式
Socket.close()OutputStreamInputStreamServerSocket(port#)ServerSocket.accept()Socker()伺服器Socket.close()OutputStreamInputStreamSocket(host,port#)(attempttoconnect)客戶機(jī)註冊(cè)服務(wù)等待連接socket通信基本步驟
在伺服器端指定一個(gè)用來(lái)等待連接的端口號(hào),在客戶端規(guī)定一個(gè)主機(jī)和端口號(hào), 從而在客戶端和服務(wù)器端創(chuàng)建 Socket/ServerSocket實(shí)例打開連接到Soc
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境管理在企業(yè)發(fā)展中的作用研究
- 生產(chǎn)流程優(yōu)化基于數(shù)據(jù)的決策支持方案
- 珠寶鑒定與法律法規(guī)關(guān)系解析
- 安保安全措施方案
- 2023九年級(jí)化學(xué)下冊(cè) 第九章 現(xiàn)在生活與化學(xué)9.4 化學(xué)物質(zhì)與健康第3課時(shí) 治病用的藥品、防范有害化學(xué)物質(zhì)、保護(hù)身體健康說(shuō)課稿 科粵版
- Unit1 Making friends Part A Letters and sounds(說(shuō)課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 3 學(xué)習(xí)有方法 說(shuō)課稿-2024-2025學(xué)年道德與法治三年級(jí)上冊(cè)統(tǒng)編版
- Unit 3 Fascinating parks Discover Useful Structures 說(shuō)課稿 -2024-2025學(xué)年高中英語(yǔ)人教版(2019)選擇性必修第一冊(cè)
- 《2 拉拉手交朋友》說(shuō)課稿-2023-2024學(xué)年道德與法治一年級(jí)上冊(cè)統(tǒng)編版
- 2023六年級(jí)數(shù)學(xué)上冊(cè) 三 分?jǐn)?shù)除法 1分?jǐn)?shù)除法第1課時(shí) 倒數(shù)的認(rèn)識(shí)說(shuō)課稿 西師大版
- 小學(xué)六年級(jí)數(shù)學(xué)上冊(cè)《簡(jiǎn)便計(jì)算》練習(xí)題(310題-附答案)
- 2024年河南省《輔警招聘考試必刷500題》考試題庫(kù)及答案【全優(yōu)】
- 地理標(biāo)志培訓(xùn)課件
- 2023行政主管年終工作報(bào)告五篇
- 2024年中國(guó)養(yǎng)老產(chǎn)業(yè)商學(xué)研究報(bào)告-銀發(fā)經(jīng)濟(jì)專題
- 培訓(xùn)如何上好一堂課
- 高教版2023年中職教科書《語(yǔ)文》(基礎(chǔ)模塊)下冊(cè)教案全冊(cè)
- 2024醫(yī)療銷售年度計(jì)劃
- 人教版英語(yǔ)七年級(jí)上冊(cè)閱讀理解專項(xiàng)訓(xùn)練16篇(含答案)
- 護(hù)理教學(xué)查房評(píng)分標(biāo)準(zhǔn)
- GB/T 23505-2017石油天然氣工業(yè)鉆機(jī)和修井機(jī)
評(píng)論
0/150
提交評(píng)論