1.定義
Netty是一個高性能、異步事件驅動的NIO框架,它提供了對TCP、UDP和文件傳輸的支持,作為一個異步NIO框架,Netty的所有IO操作都是異步非阻塞的,通過Future-Listener機制,用戶可以方便的主動獲取或者通過通知機制獲得IO操作結果。
Netty是由JBOSS提供的一個java開源框架。用以快速開發高性能、高可靠性的網絡服務器和客戶端程序。
也就是說,Netty 是一個基於NIO的客戶端,服務器端編程框架,使用Netty 可以確保你快速和簡單的開發出一個網絡應用,例如實現了某種協議的客戶,服務端應用。Netty相當簡化和流線化了網絡應用的編程開發過程,例如,TCP和UDP的socket服務開發。
2.Netty的特性
設計
統一的API,適用於不同的協議(阻塞和非阻塞)
基於靈活、可擴展的事件驅動模型
高度可定制的線程模型
可靠的無連接數據Socket支持(UDP)
性能
更好的吞吐量,低延遲
更省資源
盡量減少不必要的內存拷貝
安全
完整的SSL/TLS和STARTTLS的支持
能在Applet與Android的限制環境運行良好
健壯性
不再因過快、過慢或超負載連接導致OutOfMemoryError
不再有在高速網絡環境下NIO讀寫頻率不一致的問題
易用
完善的JavaDoc,用戶指南和樣例
簡潔簡單
僅信賴於JDK1.5
3.原理
4.數據傳遞形式
重要代碼
轉換工具
5.netty架構分析
具體代碼示例
服務端
客戶端
6.Netty結構
Nio類庫
1.Buffer緩沖區
2.Channel通道
3.selector多路復用器
7.Netty優點
總結: