Netty實戰 是為想要或者正在使用Java 從事高性能網絡編程的人而寫的,循序漸進地介紹了Netty各個方面的內容。
Netty實戰 共分為4 個部分:diyi部分詳細地介紹Netty 的相關概念以及核心組件,第二部分介紹自定義協議經常用到的編解碼器,第三部分介紹Netty 對於應用層高級協議的支持,會覆蓋常見的協議及其在實踐中的應用,第四部分是幾個案例研究。此外,附錄部分會還簡單地介紹Maven,以及如何通過使用Maven 編譯和運行Netty實戰 中的示例。
閱讀本書不需要讀者精通Java 網絡和並發編程。如果想要更加深入地理解本書背后的理念以及Netty 源碼本身,可以系統地學習一下Java 網絡編程、NIO、並發和異步編程以及相關的設計模式。
Norman Maurer是蘋果公司的zishen軟件工程師,同時也是Netty的核心開發人員。
Marvin Allen Wolfthal是Dell Services的顧問,他使用Netty實現了多個任務關鍵型的企業系統。
第一部分 Netty的概念及體系結構
第1章 Netty——異步和事件驅動
1.1 Java 網絡編程
1.1.1 Java NIO
1.1.2 選擇器
1.2 Netty 簡介
1.2.1 誰在使用Netty
1.2.2 異步和事件驅動
1.3 Netty 的核心組件
1.3.1 Channel
1.3.2 回調
1.3.3 Future
1.3.4 事件和ChannelHandler
1.3.5 把它們放在一起
1.4 小結
第2章 你的第一款Netty應用程序
2.1 設置開發環境
2.1.1 獲取並安裝Java 開發工具包
2.1.2 下載並安裝IDE
2.1.3 下載和安裝Apache Maven
2.1.4 配置工具集
2.2 Netty 客戶端/服務器概覽
2.3 編寫Echo 服務器
2.3.1 ChannelHandler 和業務邏輯
2.3.2 引導服務器
2.4 編寫Echo 客戶端
2.4.1 通過ChannelHandler 實現客戶端邏輯
2.4.2 引導客戶端
2.5 構建和運行Echo 服務器和客戶端
2.5.1 運行構建
2.5.2 運行Echo 服務器和客戶端
2.6 小結
第3章 Netty 的組件和設計
3.1 Channel、EventLoop 和ChannelFuture
3.1.1 Channel 接口
3.1.2 EventLoop 接口
3.1.3 ChannelFuture 接口
3.2 ChannelHandler 和ChannelPipeline
3.2.1 ChannelHandler 接口
3.2.2 ChannelPipeline 接口
3.2.3 更加深入地了解ChannelHandler
3.2.4 編碼器和解碼器
3.2.5 抽象類SimpleChannelInboundHandler
第二部分 編解碼器
第三部分 網絡協議
第四部分 案例研究