java 網路程式設計框架介紹
-
- 1Apache MINA
- 2Grizzly
- 3Netty
- 4NIO Framework
- 5QuickServer
- 6xSocket
- 7IOServer
- 8XNIO
1、Apache MINA
為開發高效能和高可用性的網路應用程式提供了非常便利的框架;支援基於 Java NIO 技術的 TCP/UDP 應用程式開發、串列埠通訊程式
2、Grizzly
設計與一般的nio框架相比是比較不同的,主要不同點在於讀和寫都是採用blocking方式,並且使用臨時selector ;
執行緒模型高度可配置,不過據作者介紹在跑一個selector主執行緒處理ACCEPT,用執行緒池處理read和write效能表現最好,這點不出意料。
3、Netty
提供了一組基於事件的API來開發高效能, 可管理的TCP/IP服務端或客戶端應用程式. 對於要求建立高效能的網路應用來說,Netty提供許多基本特性,像readiness selection, 執行緒池, 寫緩衝DoS的預防, 可重用的緩衝等.
4、NIO Framework
搭建在Java NIO library之上,封裝了原始NIO的大部分複雜性。利用NIO Framework能夠很容易地開發安全,高效能的Java網路應用程式。
5、QuickServer
一個免費的開源Java庫,用於快速建立健壯的多執行緒、多客戶端TCP伺服器應用程式。使用QuickServer,使用者可以只集中處理應用程式的邏輯/ 協議。
6、xSocket
一個輕量級的基於nio的伺服器框架用於開發高效能、可擴充套件、多執行緒的伺服器。該框架封裝了執行緒處理、非同步讀/寫等方面。
7、IOServer
高效能,易擴充套件的網路框架,相對於Apache的MINA更加輕量級,原始碼更容易讀懂,原始碼中有大量詳細的中文註解,是一個非常不錯的學習框架,框架主要至力於解決中國市場上手機網遊的伺服器端程式的編寫。
IoServer構建簡單伺服器例程(更詳細的例程可下載例程包,或進入Wiki檢視)伺服器接收一個來自客戶端的整型,並加一返回給客戶端。
8、XNIO
一個幫助你簡化NIO應用程式開發的Java包;
提供了一個獨特和易於使用的API,用於結合blocking和非blocking操作,即使是在同一個channel上,也可以允許你利用簡單和低延遲性的blocking I/O,同時還能獲得非blocking I/O的優勢;
還引入了一個功能強大的基於回撥的介面,可以大大簡化基於traditional state machine的非blocking應用,並讓您的應用程式之間的吞吐量(throughput)和延時達到完美平衡。
另外中介軟體平臺ICE也可能被用到此場景中。