![高級(jí)網(wǎng)絡(luò)編程框架一日一記_第1頁](http://file4.renrendoc.com/view/5b3a96af304fd04e6bc08ce07cceb82e/5b3a96af304fd04e6bc08ce07cceb82e1.gif)
![高級(jí)網(wǎng)絡(luò)編程框架一日一記_第2頁](http://file4.renrendoc.com/view/5b3a96af304fd04e6bc08ce07cceb82e/5b3a96af304fd04e6bc08ce07cceb82e2.gif)
![高級(jí)網(wǎng)絡(luò)編程框架一日一記_第3頁](http://file4.renrendoc.com/view/5b3a96af304fd04e6bc08ce07cceb82e/5b3a96af304fd04e6bc08ce07cceb82e3.gif)
![高級(jí)網(wǎng)絡(luò)編程框架一日一記_第4頁](http://file4.renrendoc.com/view/5b3a96af304fd04e6bc08ce07cceb82e/5b3a96af304fd04e6bc08ce07cceb82e4.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一 網(wǎng)絡(luò)編程基礎(chǔ)原 網(wǎng)絡(luò)編程(Socket)概 什么是 Java中的 什么是同步和異 什么是阻塞和非阻 BIO編 NIO編 AIO編 二 簡 Netty架 線程模 基礎(chǔ)程序演 案 HTTP協(xié)議處 流數(shù)據(jù)的傳輸處 一、網(wǎng)絡(luò)編程(Socket)首先注意,Socket不是Java中獨(dú)有的概念,而是一個(gè)語言無關(guān)標(biāo)準(zhǔn)。任何可以實(shí)現(xiàn)網(wǎng)絡(luò)編程的編程語言都有Socket。什么建立網(wǎng)絡(luò)通信連接至少要一個(gè)端。socket本質(zhì)是編程接口(API),對(duì)TCP/IP的封裝,提供了封裝或者顯示數(shù)據(jù)的具體形式;Socket是發(fā)動(dòng)機(jī),提供了網(wǎng)絡(luò)通信的能力。Socket的英文原義是“孔”或“插座”BSDUNIX的進(jìn)程通信機(jī)制,取后一種意思。通常也稱作"套接字",用于描述IP地址和端口,是一個(gè)通信鏈的句柄,可以用來實(shí)現(xiàn)不同虛Internet上的主機(jī)一般運(yùn)行了多個(gè)服務(wù)軟件,同時(shí)提供幾Socket正如其英文原義那樣,像一個(gè)多孔插座。一臺(tái)主機(jī)猶如布滿各種插座的房間,每個(gè)插220110伏交流電,有的則提供有線電視??蛻糗浖⒉孱^插到不同編號(hào)的插座,就可以得到不同的服務(wù)。Socket連接Java型。ServerSocket是服務(wù)端應(yīng)用類型。Socket是建立連接的類型。當(dāng)連接建立成功后,服務(wù)SocketSocket對(duì)象示例,完成會(huì)話的所有IO操作并己的事情,而當(dāng)IO操作已經(jīng)完成的時(shí)候會(huì)得到IO完成。;阻塞和非阻塞是針對(duì)于進(jìn)程在數(shù)據(jù)的時(shí)候,根據(jù)IO操作的就緒狀態(tài)來采取的不同ATM排隊(duì)取款,你只能等待(IO時(shí),Java調(diào)用會(huì)一直阻塞到讀寫完;塞IO時(shí),如果不能讀寫Java調(diào)用會(huì)馬上返回,當(dāng)IO分發(fā)器通知可讀寫時(shí)再繼續(xù)進(jìn)行BIO端啟動(dòng)一個(gè)ServerSocket來網(wǎng)絡(luò)請(qǐng)求,客戶端啟動(dòng)Socket發(fā)起網(wǎng)絡(luò)請(qǐng)求,默認(rèn)情況下ServerSocket回建立一個(gè)線程來處理此請(qǐng)求,如果服務(wù)端沒有線程可用,客戶端則會(huì)阻塞等ServerSocketServerSocketsocketsocketsocket創(chuàng)建serversocketserversocket創(chuàng)建serversocketserversocket發(fā)局限于應(yīng)用中,JDK1.4以前的唯一選擇,但程序直觀簡單易理解。使用線程池機(jī)制改善后的BIO模型圖如下:NIONIO本身是基于驅(qū)動(dòng)思想來完成的,其主要想解決的是BIO的大并發(fā)問題,NIO基于Reactor,當(dāng)socket有流可讀或可寫入socket時(shí),操作系統(tǒng)會(huì)相應(yīng)程序進(jìn)行處NIO的處理方式中,當(dāng)一個(gè)請(qǐng)求來的話,開啟線程進(jìn)行處理,可能會(huì)等待后端應(yīng)用的 到多路復(fù)用器上,多路復(fù)用器輪詢到連接有I/O請(qǐng)求時(shí)才啟動(dòng)一個(gè)線程進(jìn)行處理。限于應(yīng)用中,編程復(fù)雜,JDK1.4開始支持。 AIO方法均為異步的,對(duì)于讀操作而言,當(dāng)有流可時(shí),操作系統(tǒng)會(huì)將可讀的流傳入read方write方法傳遞的流寫入完畢時(shí),操作系統(tǒng)主動(dòng)通知應(yīng)用程序。即可以理解為,read/write方法都是異步的,完成后會(huì)JDK1.7NIO.2java.nio.channels包下用OS參與并發(fā)操作,編程比較復(fù)雜,JDK71:啟動(dòng),端6:數(shù)據(jù)交互7:5:accept6:數(shù)據(jù)交互7:5:accept繼續(xù)阻塞,參數(shù)Server對(duì)象和handler3:二、簡Netty是由JBOSS提供的一個(gè)java開源框架。Netty提供異步的、驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用快速和簡單的開發(fā)出一個(gè)網(wǎng)絡(luò)應(yīng)用,例如實(shí)現(xiàn)了某種協(xié)議的客戶,服務(wù)端應(yīng)用。Netty相當(dāng)簡化和流線化了網(wǎng)絡(luò)應(yīng)用的編程開發(fā)過程,例如,TCP和UDP的socket服務(wù)開發(fā)?!翱焖佟焙汀昂唵巍辈⒉挥卯a(chǎn)生性或性能上的問題。Netty是一個(gè)吸收了多種協(xié)議的實(shí)FTP,SMTP,HTTP,各種二進(jìn)制,文本協(xié)議,并經(jīng)過相當(dāng)精心設(shè)計(jì)的項(xiàng)目,最終,Netty成功的找到了式,在保證易于開發(fā)的同時(shí)還保證了其應(yīng)用的性能,阻塞和非阻塞;簡單但更強(qiáng)大的線程模型;在性能上:比JavaAPI更好的吞吐量,較低的延時(shí);資源消耗更少,這個(gè)得益于在NIO在高速網(wǎng)絡(luò)中的應(yīng)用中的的讀/寫比SSLTLS和StartTLSRPCNettyNetty(Netty線程模組的時(shí)候,構(gòu)造參數(shù)為1,這種開發(fā)方式,就是一個(gè)單線程模型。的acceptor線程組,線程數(shù)為1,也就是構(gòu)造參數(shù)為1。負(fù)責(zé)處理客戶端任務(wù)的線程組,線程數(shù)大于1,也就是構(gòu)造參數(shù)大于1。這種開發(fā)方式,就是多線程模型。線程數(shù)大于1,也就是構(gòu)造參數(shù)大于1。這種開發(fā)方式,就是主從多線程模型?;A(chǔ)程序演4.1案nettytcp/iptcp/ip協(xié)議是類似水流一樣的數(shù)據(jù)傳輸方式。多次務(wù)器寫出的數(shù)據(jù)不足10,則使用空白字符補(bǔ)足(如:使用空格。#$_$協(xié) 定時(shí)斷線重120秒自動(dòng)斷線。數(shù)據(jù)變2write12write13write4close3write4close5conne
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 漯河2024年河南漯河市第三人民醫(yī)院(漯河市婦幼保健院)招聘9人筆試歷年參考題庫附帶答案詳解
- 深圳廣東深圳市第一職業(yè)技術(shù)學(xué)校招聘購買教育服務(wù)教師筆試歷年參考題庫附帶答案詳解
- 2025年縮水鋼角尺項(xiàng)目可行性研究報(bào)告
- 2025年皮帶傳動(dòng)手控項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國玻璃制品網(wǎng)帶烤花爐行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年柔潤美白防水粉底液項(xiàng)目可行性研究報(bào)告
- 2025年改性高鋁陶瓷蓄熱板項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國多彩膠行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國助動(dòng)車專用機(jī)油行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年前標(biāo)項(xiàng)目可行性研究報(bào)告
- 醫(yī)療器械專業(yè)知識(shí)培訓(xùn)課件
- 傳統(tǒng)體育養(yǎng)生學(xué)
- DB4401∕T 33-2019 電梯托管標(biāo)準(zhǔn)化管理規(guī)范
- 醫(yī)院物業(yè)(保潔)技術(shù)服務(wù)投標(biāo)方案
- 松原市人民政府關(guān)于印發(fā)松原市招商引資服務(wù)公司組建工作實(shí)施方案的通知
- 全介質(zhì)自承式架空光纜(ADSS)-設(shè)計(jì)和制造專題研討教學(xué)課件
- 義工財(cái)務(wù)管理制度范文
- 西安旅游景點(diǎn)介紹PPT模板(推薦)
- 公司實(shí)際經(jīng)營地與公司注冊地不一致的說明
- 貴州省工傷待遇申請(qǐng)表(綜合柜員)
- 《發(fā)展?jié)h語(第二版)中級(jí)綜合(Ⅰ)》第8課+課件
評(píng)論
0/150
提交評(píng)論