當(dāng)前位置:首頁 > IT技術(shù) > 編程語言 > 正文

Java 開源 socket框架介紹,來了解下吧!
2021-10-20 10:35:06

1、QuickServer

官網(wǎng):http://www.quickserver.org/

一個免費的開源Java庫,用于快速創(chuàng)建健壯的多線程、多客戶端TCP服務(wù)器應(yīng)用程序。使用QuickServer,用戶可以只集中處理應(yīng)用程序的邏輯/協(xié)議。

2、Netty 2

提供了一組基于事件的API來開發(fā)高性能,可管理的TCP/IP服務(wù)端或客戶端應(yīng)用程序.對于要求建立高性能的網(wǎng)絡(luò)應(yīng)用來說,Netty提供許多基本特性,像readiness selection,線程池,寫緩沖DoS的預(yù)防,可重用的緩沖等。

3、ColoradoFTP

一個開源完全遵循RFC 959(文件傳輸協(xié)議)的Java?FTP服務(wù)器。它具有快速,可靠,易于擴展的特點。

4、Apache James

完全采用純Java技術(shù)開發(fā),實現(xiàn)了SMTP、POP3與NNTP等多種郵件相關(guān)協(xié)議。James也是一個郵件應(yīng)用平臺,可以通過Mailet擴充其功能,如Mail2SMS、Mail2Fax等。James提供了比較完善的配置方案,尤其是關(guān)于郵件內(nèi)容存儲和用戶信息存儲。

5、Java Email Server(JES)

支持SMTP和POP3協(xié)議純Java mail服務(wù)器。

6、Java Sockets

Java Sockets是一個Java類庫模仿了C++ Sockets library的實現(xiàn)方式并基于SUN的java.nio.*非阻塞網(wǎng)絡(luò)I/O類。

7、Raining Sockets

一個非阻塞的sockets框架.開發(fā)者可以利用它來構(gòu)建高性能的可以發(fā)送與接收10000 socket連接的應(yīng)用程序。

8、Cindy

基于java nio的,提供一個簡單,高效的異步I/O框架,支持tcp/udp/pipe并易于測試。

9、HP-Socket

  • HP-Socket:

是一套通用的高性能 TCP/UDP 通信框架,包含服務(wù)端組件、客戶端組件和Agent組件,廣泛適用于各種不同應(yīng)用場景的TCP/UDP通信系統(tǒng),提供C/C++、C#、Delphi、E(易語言)、Java、Python等編程語言接口。HP-Socket對通信層實現(xiàn)完全封裝,應(yīng)用程序不必關(guān)注通信層的任何細(xì)節(jié);HP-Socket提供基于事件驅(qū)動模型的API接口,能非常簡單高效地整合到新舊應(yīng)用程序中。

HP-Socket 目前運行在 Windows 平臺,將來會實現(xiàn)跨平臺支持。

  • Client 組件:

基于 Event Select 通信模型,在單獨線程中執(zhí)行通信操作,避免與主線程或其他線程相互干擾。每個組件對象管理一個Socket連接。

  • Server 組件:

基于 IOCP 通信模型,并結(jié)合緩存池、私有堆(Private Heap)等技術(shù),支持超大規(guī)模連接,在高并發(fā)場景下實現(xiàn)高效內(nèi)存管理。

  • Agent 組件:

對于代理服務(wù)器或中轉(zhuǎn)服務(wù)器等應(yīng)用場景,服務(wù)器自身也作為客戶端向其它服務(wù)器發(fā)起大規(guī)模連接,一個 Agent組件對象同時可管理多個Socket連接;Agent組件與Server組件采用相同的技術(shù)架構(gòu),可以用作代理服務(wù)器或中轉(zhuǎn)服務(wù)器的客戶端部件。

10、Grizzl

設(shè)計與一般的 nio 框架相比是比較不同的,主要不同點在于讀和寫都是采用 blocking 方式,并且使用臨時 selector;線程模型高度可配置。性能據(jù)說比 MINA 還高,但是學(xué)習(xí)曲線很高。

11、xSocket

官網(wǎng):http://xsocket.sourceforge.net/

一個輕量級的解決方案,核心思想是屏蔽,簡化 nio 方式的的開發(fā),并不需要過多的學(xué)習(xí)。

本文摘自 :https://blog.51cto.com/u

開通會員,享受整站包年服務(wù)立即開通 >