合肥Java培訓
達內合肥java培訓中心

18130056197

熱門課程

網絡I/O模型都有哪些類型


網絡I/O模型是程序員在學習java編程開發語言的時候需要重點掌握的開發知識之一,而今天我們就通過案例分析來了解一下,網絡I/O模型都有哪些類型。

網絡I/O模型都有哪些類型

(1)選擇模式(Select)

選擇模型是Winsock中常見的I/O模型。之所以稱其為“select模型”,是由于它的“中心思想”便是利用select函數,實現對I/O的管理!初設計該模型時,主要面向的是某些使用Unix操作系統的計算機,它們采用的是Berkeley套接字方案。select模型已集成到Winsock1.1中,它使那些想避免在套接字調用過程中被無辜“鎖定”的應用程序,采取一種有序的方式,同時進行對多個套接字的管理。

(2)異步選擇模式(WSAAsyncSelect)

使用異步選擇模型,應用程序可在一個套接字上,接收以Windows消息為基礎的網絡事件通知。具體的做法是在建好一個套接字后,調用WSAAsyncSelect函數。

(3)事件選擇模式(WSAEventSelect)

WSAEventSelect和WSAAsyncSelect模型類似,它也允許應用程序在一個或多個套接字上,接收以事件為基礎的網絡事件通知。對于WSAAsyncSelect模型采用的網絡事件來說,它們均可原封不動地移植到事件選擇模型上。在用事件選擇模型開發的應用程序中,也能接收和處理所有那些事件。該模型主要的差別在于網絡事件會投遞至一個事件對象句柄,而非投遞至一個窗口例程。

(4)重疊I/O模式(OverlappedI/O)

在Winsock中,相比我們迄今為止解釋過的其他所有I/O模型,重疊I/O模型使應用程序能達到更佳的系統性能。重疊模型的基本設計原理便是讓應用程序使用一個重疊的數據結構,一次投遞一個或多個WinsockI/O請求。針對那些提交的請求,在它們完成之后,應用程序可為它們提供服務。該模型適用于除WindowsCE之外的各種Windows平臺。模型的總體設計以Win32重疊I/O機制為基礎。那個機制可通過ReadFile和WriteFile兩個函數,針對設備執行I/O操作。

(5)完成端口模式(CompletionPort)

“完成端口”模型是迄今為止為復雜的一種I/O模型。然而,假若一個應用程序同時需要管理為數眾多的套接字,那么采用這種模型,往往可以達到佳的系統性能!但不幸的是,該模型只適用于WindowsNT和Windows2000操作系統。

【免責聲明】本文系本網編輯部分轉載,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請在30日內與管理員聯系,我們會予以更改或刪除相關文章,以保證您的權益!更多內容請在707945861群中學習了解。

預約申請免費試聽課程

         

上一篇:使用虛擬機運行java代碼的優勢分析
下一篇:java編程開發常見線程池類型分析

網絡I/O模型都有哪些類型

使用虛擬機運行java代碼的優勢分析

java編程開發的循環結構類型都有哪些

混合云的優勢都有哪些

選擇城市和中心
江西省

貴州省

廣西省

海南省

38部杂交小说