1. 程式人生 > 其它 >java 網路程式設計框架介紹

java 網路程式設計框架介紹

    • 1Apache MINA
    • 2Grizzly
    • 3Netty
    • 4NIO Framework
    • 5QuickServer
    • 6xSocket
    • 7IOServer
    • 8XNIO

1、Apache MINA

專案主頁:http://mina.apache.org/

為開發高效能和高可用性的網路應用程式提供了非常便利的框架;支援基於 Java NIO 技術的 TCP/UDP 應用程式開發、串列埠通訊程式

2、Grizzly

官網:http://xsocket.sourceforge.net/

設計與一般的nio框架相比是比較不同的,主要不同點在於讀和寫都是採用blocking方式,並且使用臨時selector ; 
執行緒模型高度可配置,不過據作者介紹在跑一個selector主執行緒處理ACCEPT,用執行緒池處理read和write效能表現最好,這點不出意料。

3、Netty

官網:http://netty.io/

提供了一組基於事件的API來開發高效能, 可管理的TCP/IP服務端或客戶端應用程式. 對於要求建立高效能的網路應用來說,Netty提供許多基本特性,像readiness selection, 執行緒池, 寫緩衝DoS的預防, 可重用的緩衝等.

4、NIO Framework

搭建在Java NIO library之上,封裝了原始NIO的大部分複雜性。利用NIO Framework能夠很容易地開發安全,高效能的Java網路應用程式。

5、QuickServer

官網:http://www.quickserver.org/

一個免費的開源Java庫,用於快速建立健壯的多執行緒、多客戶端TCP伺服器應用程式。使用QuickServer,使用者可以只集中處理應用程式的邏輯/ 協議。

6、xSocket

官網:http://xsocket.sourceforge.net/

一個輕量級的基於nio的伺服器框架用於開發高效能、可擴充套件、多執行緒的伺服器。該框架封裝了執行緒處理、非同步讀/寫等方面。

7、IOServer

高效能,易擴充套件的網路框架,相對於Apache的MINA更加輕量級,原始碼更容易讀懂,原始碼中有大量詳細的中文註解,是一個非常不錯的學習框架,框架主要至力於解決中國市場上手機網遊的伺服器端程式的編寫。

IoServer構建簡單伺服器例程(更詳細的例程可下載例程包,或進入Wiki檢視)伺服器接收一個來自客戶端的整型,並加一返回給客戶端。

8、XNIO

官網:http://xnio.jboss.org/

一個幫助你簡化NIO應用程式開發的Java包;

提供了一個獨特和易於使用的API,用於結合blocking和非blocking操作,即使是在同一個channel上,也可以允許你利用簡單和低延遲性的blocking I/O,同時還能獲得非blocking I/O的優勢;

還引入了一個功能強大的基於回撥的介面,可以大大簡化基於traditional state machine的非blocking應用,並讓您的應用程式之間的吞吐量(throughput)和延時達到完美平衡。

另外中介軟體平臺ICE也可能被用到此場景中。