1. 程式人生 > 其它 >你只會用 Java Sockets?試試這 11 個開源的 Java Socket 框架,真心強。。

你只會用 Java Sockets?試試這 11 個開源的 Java Socket 框架,真心強。。

來源:csdn.net/xiaojin21cen/article/details/78587425

ZeroC ICE的Java版,Netty2作者的後續之作Apache MINA,Crmky的Cindy之外,還有個超簡單的QuickServer,讓你專心編寫自己的業務程式碼,不用編寫一行TCP程式碼。

1、QuickServer

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

2、Netty 2

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

3、ColoradoFTP

一個開源完全遵循RFC 959(檔案傳輸協議)的Java FTP伺服器。它具有快速,可靠,易於擴充套件的特點。

4、Apache James

完全採用純Java技術開發,實現了SMTP、POP3與NNTP等多種郵件相關協議。James也是一個郵件應用平臺,可以通過Mailet擴充其功能,如Mail2SMS、Mail2Fax等。James提供了比較完善的配置方案,尤其是關於郵件內容儲存和使用者資訊儲存。

5、Java Email Server(JES)

支援SMTP和POP3協議純Java mail伺服器。

6、Java Sockets

Java Sockets是一個Java類庫模仿了C++ Sockets library的實現方式並基於SUN的java.nio.*非阻塞網路I/O類。

7、Raining Sockets

一個非阻塞的sockets框架.開發者可以利用它來構建高效能的可以傳送與接收10000 socket連線的應用程式。

8、Cindy

基於java nio的,提供一個簡單,高效的非同步I/O框架,支援tcp/udp/pipe並易於測試。

9、HP-Socket

HP-Socket:

是一套通用的高效能 TCP/UDP 通訊框架,包含服務端元件、客戶端元件和Agent元件,廣泛適用於各種不同應用場景的TCP/UDP通訊系統,提供C/C++、C#、Delphi、E(易語言)、Java、Python等程式語言介面。HP-Socket對通訊層實現完全封裝,應用程式不必關注通訊層的任何細節;HP-Socket提供基於事件驅動模型的API介面,能非常簡單高效地整合到新舊應用程式中。

HP-Socket 目前執行在 Windows 平臺,將來會實現跨平臺支援。

Client 元件:

基於 Event Select 通訊模型,在單獨執行緒中執行通訊操作,避免與主執行緒或其他執行緒相互干擾。每個元件物件管理一個Socket連線。

Server 元件:

基於 IOCP 通訊模型,並結合快取池、私有堆(Private Heap)等技術,支援超大規模連線,在高併發場景下實現高效記憶體管理。

Agent 元件:

對於代理伺服器或中轉伺服器等應用場景,伺服器自身也作為客戶端向其它伺服器發起大規模連線,一個 Agent元件物件同時可管理多個Socket連線;Agent元件與Server元件採用相同的技術架構,可以用作代理伺服器或中轉伺服器的客戶端部件。

10、Grizzl

設計與一般的 nio 框架相比是比較不同的,主要不同點在於讀和寫都是採用 blocking 方式,並且使用臨時 selector;執行緒模型高度可配置。效能據說比 MINA 還高,但是學習曲線很高。

11、xSocket

一個輕量級的解決方案,核心思想是遮蔽,簡化 nio 方式的的開發,並不需要過多的學習。

近期熱文推薦:

1.1,000+ 道 Java面試題及答案整理(2022最新版)

2.勁爆!Java 協程要來了。。。

3.Spring Boot 2.x 教程,太全了!

4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!

5.《Java開發手冊(嵩山版)》最新發布,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!