您好,登錄后才能下訂單哦!
一。前言:
在老師分配任務(“嘗試利用IOCP模型寫出服務端和客戶端的代碼”)給我時,腦子一片空白,并不知道什么是IOCP模型,會不會是像軟件設計模式里面的工廠模式,裝飾模式之類的那些呢?嘿嘿,不過好像是一個挺好玩的東西,挺好奇是什么東西來的,又是一個新知識啦~于是,開始去尋找一大堆的資料,為這個了解做準備,只是呢,有時還是想去找一本書去系統(tǒng)地學習一下,畢竟網(wǎng)絡的資料還是有點零散。話說,本人學習這個模型的基礎(chǔ)是,寫過一個簡單的Socket服務器及客戶端程序,外加一個簡單的Socket單服務器對多客戶端程序,懂一點點的操作系統(tǒng)原理的知識。于是,本著一個學習與應用的態(tài)度開始探究這個IOCP是個什么東西。
二。提出相關(guān)問題:
1. IOCP模型是什么?
2. IOCP模型是用來解決什么問題的?它為什么存在?
3. 使用IOCP模型需要用到哪些知識?
4. 如何使用IOCP模型與Socket網(wǎng)絡編程結(jié)合起來?
5. 學會了這個模型以后與我之前寫過的簡單的socket程序主要有哪些不同點?
三。部分問題探究及解決:(絕大多數(shù)是個人理解,再加上個人是菜鳥,如果有什么不對的地方,歡迎指正)
1. 什么是IOCP?什么是IOCP模型?IOCP模型有什么作用?
1) IOCP(I/O Completion Port),常稱I/O完成端口。
2) IOCP模型屬于一種通訊模型,適用于(能控制并發(fā)執(zhí)行的)高負載服務器的一個技術(shù)。
3) 通俗一點說,就是用于高效處理很多很多的客戶端進行數(shù)據(jù)交換的一個模型。
4) 或者可以說,就是能異步I/O操作的模型。
5) 只是了解到這些會讓人很糊涂,因為還是不知道它究意具體是個什么東東呢?
下面我想給大家看三個圖:
第一個是IOCP的內(nèi)部工作隊列圖。(整合于《IOCP本質(zhì)論》文章,在英文的基礎(chǔ)上加上中文對照)
第二個是程序?qū)崿F(xiàn)IOCP模型的基本步驟。(整合于《深入解釋IOCP》,加個人觀點、理解、翻譯)
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。