一。前言:
在老師分配任務(“嘗試利用IOCP模型寫出服務端和客戶端的代碼”)給我時,腦子一片空白,并不知道什么是IOCP模型,會不會是像軟件設計模式里面的工廠模式,裝飾模式之類的那些呢?嘿嘿,不過好像是一個挺好玩的東西,挺好奇是什么東西來的,又是一個新知識啦~于是,開始去尋找一大堆的資料,為這個了解做準備,只是呢,有時還是想去找一本書去系統地學習一下,畢竟網絡的資料還是有點零散。話說,本人學習這個模型的基礎是,寫過一個簡單的Socket服務器及客戶端程序,外加一個簡單的Socket單服務器對多客戶端程序,懂一點點的操作系統原理的知識。于是,本著一個學習與應用的態度開始探究這個IOCP是個什么東西。
二。提出相關問題:
1. IOCP模型是什么?
2. IOCP模型是用來解決什么問題的?它為什么存在?
3. 使用IOCP模型需要用到哪些知識?
4. 如何使用IOCP模型與Socket網絡編程結合起來?
5. 學會了這個模型以后與我之前寫過的簡單的socket程序主要有哪些不同點?
三。部分問題探究及解決:(絕大多數是個人理解,再加上個人是菜鳥,如果有什么不對的地方,歡迎指正)
1. 什么是IOCP?什么是IOCP模型?IOCP模型有什么作用?
1) IOCP(I/O Completion Port),常稱I/O完成端口。
2) IOCP模型屬于一種通訊模型,適用于(能控制并發執行的)高負載服務器的一個技術。
3) 通俗一點說,就是用于高效處理很多很多的客戶端進行數據交換的一個模型。
4) 或者可以說,就是能異步I/O操作的模型。
5) 只是了解到這些會讓人很糊涂,因為還是不知道它究意具體是個什么東東呢?
下面我想給大家看三個圖:
第一個是IOCP的內部工作隊列圖。(整合于《IOCP本質論》文章,在英文的基礎上加上中文對照)

第二個是程序實現IOCP模型的基本步驟。(整合于《深入解釋IOCP》,加個人觀點、理解、翻譯)

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。