1、netty java
Netty是由JBOSS提供的一個java開源框架。Netty提供異步的、事件驅動的網絡應用程序框架和工具,用以快速開發高性能、高可靠性的網絡服務器和客戶端程序。 編程
也就是說,Netty 是一個基於NIO的客戶,服務器端編程框架,使用Netty 能夠確保你快速和簡單的開發出一個網絡應用,例如實現了某種協議的客戶,服務端
應用。Netty至關簡化和流線化了網絡應用的編程開發過程,例如,TCP和UDP的socket服務開發。
「快速」和「簡單」並不意味着會讓你的最終應用產生維護性或性能上的問題。Netty 是一個吸取了多種協議的實現經驗,這些協議包括FTP,SMTP,HTTP,各類二進制,文本協議,並通過至關精心設計的項目,最終,Netty 成功的找到了一種方式,在保證易於開發的同時還保證了其應用的性能,穩定性和伸縮性。
二、mina 服務器
Apache Mina Server 是一個網絡通訊應用框架,也就是說,它主要是對基於TCP/IP、UDP/IP協議棧的通訊框架(然,也能夠提供JAVA 對象的序列化服務、虛擬機管道通訊服務等),Mina 能夠幫助咱們快速開發高性能、高擴展性的網絡通訊應用,Mina 提供了事件驅動、異步(Mina 的異步IO 默認使用的是JAVA NIO 做爲底層支持)操做的編程模型。Mina 主要有1.x 和2.x 兩個分支,這裏咱們講解最新版本2.0,若是你使用的是Mina 1.x,那麼可能會有一些功能並不適用。學習本文檔,須要你已掌握JAVA IO、JAVA NIO、JAVASocket、JAVA 線程及併發庫(java.util.concurrent.*)的知識。Mina 同時提供了網絡通訊的Server 端、Client 端的封裝,不管是哪端,Mina 在整個網統統信結構中都處於以下的位置: