你只會用 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最新版)
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!
覺得不錯,別忘了隨手點贊+轉發哦!