




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、套接字I / O模型Wi n s o c k分別提供了“套接字模式”和“套接字I / O模型”,可對一個套接字上的I / O行為加以控制。套接字模式用于決定在隨一個套接字調(diào)用時,那些Wi n s o c k函數(shù)的行為。套接字模型描述了一個應(yīng)用程序如何對套接字上進行的I / O進行管理及處理?!疤捉幼諭 / O模型”與“套接字模式”是無關(guān)的。套接字模型的出現(xiàn),正是為了解決套接字模式存在的某些限制。1Wi n s o c k提供的I / O模型s e l e c t(選擇)W S A A s y n c S e l e c t(異步選擇)W S A E v e n t S e l e c t(事件
2、選擇)Overlapped I/O(重疊式I / O)Completion port(完成端口)2操作系統(tǒng)對套接字I / O模型的支持情況3最通俗淺顯的“IO模式”解析老陳有一個在外地工作的女兒,不能經(jīng)?;貋?,老陳和她通過信件聯(lián)系。他們的信會被郵遞員投遞到他們的信箱里。 情況與Socket模型非常類似。 4select模型 老陳非常想看到女兒的信。以至于他每隔10分鐘就下樓檢查信箱,看是否有女兒的信,在這種情況下,“下樓檢查信箱”然后回到樓上耽誤了老陳太多的時間,以至于老陳無法做其他工作。 select模型和老陳的這種情況非常相似:周而復(fù)始地去檢查.如果有數(shù)據(jù).接收/發(fā)送. 5WSAAsync
3、Select模型 老陳使用了微軟公司的新式信箱。這種信箱非常先進,一旦信箱里有新的信件,蓋茨就會給老陳打電話:喂,大爺,你有新的信件了!從此,老陳再也不必頻繁上下樓檢查信箱了,牙也不疼了,你瞅準(zhǔn)了,藍天.不是,微軟. WSAAsyncSelect模型是Windows下最簡單易用的一種SocketI/O模型。使用這種模型時,Windows會把網(wǎng)絡(luò)事件以消息的形式通知應(yīng)用程序。 6應(yīng)用程序可以對收到WM_SOCKET消息進行分析,判斷是哪一個socket產(chǎn)生了網(wǎng)絡(luò)事件以及事件類型 。7WSAEventSelect模型 微軟的信箱非常暢銷,購買微軟信箱的人以百萬計數(shù).以至于蓋茨每天24小時給客戶打電
4、話,累得腰酸背痛,喝蟻力神都不好使。微軟改進了他們的信箱:在客戶的家中添加一個附加裝置,這個裝置會監(jiān)視客戶的信箱,每當(dāng)新的信件來臨,此裝置會發(fā)出“新信件到達”聲,提醒老陳去收信。蓋茨終于可以睡覺了。 8OverlappedI/O事件通知模型 微軟通過調(diào)查發(fā)現(xiàn),老陳不喜歡上下樓收發(fā)信件,因為上下樓其實很浪費時間。于是微軟再次改進他們的信箱。新式的信箱采用了更為先進的技術(shù),只要用戶告訴微軟自己的家在幾樓幾號,新式信箱會把信件直接傳送到用戶的家中,然后告訴用戶,你的信件已經(jīng)放到你的家中了!老陳很高興,因為他不必再親自收發(fā)信件了! 9OverlappedI/O事件通知模型和WSAEventSelect
5、模型在實現(xiàn)上非常相似,主要區(qū)別在Overlapped”,Overlapped模型是讓應(yīng)用程序使用重疊數(shù)據(jù)結(jié)構(gòu)(WSAOVERLAPPED),一次投遞一個或多個WinsockI/O請求。這些提交的請求完成后,應(yīng)用程序會收到通知。什么意思呢?就是說,如果你想從socket上接收數(shù)據(jù),只需要告訴系統(tǒng),由系統(tǒng)為你接收數(shù)據(jù),而你需要做的只是為系統(tǒng)提供一個緩沖區(qū) 10OverlappedI/O完成例程模型 老陳接收到新的信件后,一般的程序是:打開信封-掏出信紙-閱讀信件-回復(fù)信件.為了進一步減輕用戶負擔(dān),微軟又開發(fā)了一種新的技術(shù):用戶只要告訴微軟對信件的操作步驟,微軟信箱將按照這些步驟去處理信件,不再需要
6、用戶親自拆信/閱讀/回復(fù)了!老陳終于過上了小資生活! 11OverlappedI/O完成例程要求用戶提供一個回調(diào)函數(shù),發(fā)生新的網(wǎng)絡(luò)事件的時候系統(tǒng)將執(zhí)行這個函數(shù) 。12完成端口模型微軟信箱似乎很完美,老陳也很滿意。但是在一些大公司情況卻完全不同!這些大公司有數(shù)以萬計的信箱,每秒鐘都有數(shù)以百計的信件需要處理,以至于微軟信箱經(jīng)常因超負荷運轉(zhuǎn)而崩潰!需要重新啟動!微軟不得不使出殺手锏. 微軟給每個大公司派了一名名叫“CompletionPort”的超級機器人,讓這個機器人去處理那些信件! 13“WindowsNT小組注意到這些應(yīng)用程序的性能沒有預(yù)料的那么高。特別的,處理很多同時的客戶請求意味著很多線程并發(fā)地運行在系統(tǒng)中。因為所有這些線程都是可運行的沒有被掛起和等待發(fā)生什么事,Microsoft意識到NT內(nèi)核花費了太多的時間來轉(zhuǎn)換運行線程的上下文Context,線程就沒有得到很多CPU時間來做它們的工作。大家可能也都感覺到并行模型的瓶頸在于它為每一個客戶請求都創(chuàng)建了一個新線程。創(chuàng)建線程比起創(chuàng)建進程開銷要小,但也遠不是沒有開銷的。14我們不妨設(shè)想一下:如果事先開好N個線程,讓它們在那hold堵塞,然后可以將所有用戶的請求都投遞到一個消息隊列中去。然后那N個線程
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年脈沖反應(yīng)堆及配套產(chǎn)品合作協(xié)議書
- 化妝品檢測服務(wù)合同范本
- 北美買車合同范本
- 低價格回收合同范本
- 個人酒店租房合同范本
- 出口蔬菜供應(yīng)合同范本
- 合同范本寫才有效
- 單位購銷合同范本
- 電商直播主播簽約合作合同范本
- 洗車店轉(zhuǎn)讓合同范本
- 2024年北京中考地理試卷
- 四川蜀道集團筆試題
- 零食門市轉(zhuǎn)讓協(xié)議書范本
- 運用PDCA縮短ST段抬高型急性心肌梗死病人在急診停留時間
- 電氣自動化工程師考試題庫
- 小學(xué)利潤問題應(yīng)用題100道附答案(完整版)
- 醫(yī)院智能化系統(tǒng)內(nèi)網(wǎng)、外網(wǎng)及設(shè)備網(wǎng)系統(tǒng)拓撲圖-可編輯課件
- 小學(xué)生心理健康主題家長會
- 社交禮儀-儀態(tài)禮儀
- 安徽省2024年中考語文真題試卷【附答案】
- QB/T 4031-2024 阻燃性汽車空氣濾紙(正式版)
評論
0/150
提交評論