注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計跟閃電俠學 Netty:Netty 即時聊天實戰(zhàn)與底層原理

跟閃電俠學 Netty:Netty 即時聊天實戰(zhàn)與底層原理

跟閃電俠學 Netty:Netty 即時聊天實戰(zhàn)與底層原理

定 價:¥108.00

作 者: 俞超 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121426797 出版時間: 2022-03-01 包裝: 平裝
開本: 16開 頁數(shù): 321 字數(shù):  

內(nèi)容簡介

  這是一本專門為 Netty 初學者打造的入門及進階學習圖書,無論你之前有沒有使用過 Netty,都可以從本書中有所收獲。本書分上下兩篇。上篇通過一個即時聊天系統(tǒng)的實戰(zhàn)案例,讓讀者能夠系統(tǒng)地使用一遍 Netty,全面掌握 Netty 的知識點;下篇通過對源碼的層層剖析,讓讀者能夠掌握 Netty 底層原理,知其然并知其所以然,從而編寫出高性能網(wǎng)絡應用程序。如果你想全面系統(tǒng)地學習 Netty,并掌握一些性能調(diào)優(yōu)方法,本書上篇可以幫助你完成這個目標。如果你想深入了解 Netty 的底層設計,編寫出更靈活高效的網(wǎng)絡通信程序,本書下篇可以幫助你完成這個目標。如果你從未讀過開源框架源碼,本書將是你的第一本源碼指導書,讀源碼并不難,難的是邁出這一小步,之后就能通往更廣闊的世界。

作者簡介

  閃電俠(俞超),某互聯(lián)網(wǎng)公司技術專家。精通Netty、Spring、MyBatis 等開源框架。負責公司各類長連項目的開發(fā)與維護,有千萬級別實時在線連接、百億吞吐長連通信經(jīng)驗。Vim和IDEA黨,對效率和編寫優(yōu)美代碼有極致追求。

圖書目錄

上篇 入門實戰(zhàn)
第1章 即時聊天系統(tǒng)簡介
1.1 單聊流程
1.2 單聊的指令
1.3 群聊流程
1.4 群聊要實現(xiàn)的指令集
1.5 Netty
1.6 本書實現(xiàn)的即時聊天形式
第2章 Netty是什么
2.1 IO編程
2.2 NIO編程
2.3 Netty編程
第3章 Netty開發(fā)環(huán)境配置
3.1 Maven
3.2 Git
3.3 IntelliJ IDEA
第4章 服務端啟動流程
4.1 服務端啟動最小化代碼
4.2 自動綁定遞增端口
4.3 服務端啟動的其他方法
4.4 總結
第5章 客戶端啟動流程
5.1 客戶端啟動Demo
5.2 失敗重連
5.3 客戶端啟動的其他方法
5.4 總結
5.5 思考
第6章 客戶端與服務端雙向通信
6.1 客戶端發(fā)送數(shù)據(jù)到服務端
6.2 服務端讀取客戶端數(shù)據(jù)
6.3 服務端返回數(shù)據(jù)到客戶端
6.4 總結
6.5 思考
第7章 數(shù)據(jù)載體ByteBuf的介紹
7.1 ByteBuf的結構
7.2 容量API
7.3 讀寫指針相關的API
7.4 讀寫API
7.5 實戰(zhàn)
7.6 總結
7.7 思考
第8章 客戶端與服務端通信協(xié)議編解碼
8.1 什么是客戶端與服務端的通信協(xié)議
8.2 通信協(xié)議的設計
8.3 通信協(xié)議的實現(xiàn)
8.4 總結
8.5 思考
第9章 實現(xiàn)客戶端登錄
9.1 登錄流程
9.2 邏輯處理器
9.3 客戶端發(fā)送登錄請求
9.4 服務端發(fā)送登錄響應
9.5 總結
9.6 思考
第10章 實現(xiàn)客戶端與服務端收發(fā)消息
10.1 收發(fā)消息對象
10.2 判斷客戶端是否登錄成功
10.3 在控制臺輸入消息并發(fā)送
10.4 服務端收發(fā)消息處理
10.5 客戶端收消息處理
10.6 總結
10.7 思考
第11章 Pipeline與ChannelHandler
11.1 Pipeline與ChannelHandler的構成
11.2 ChannelHandler的分類
11.3 ChannelInboundHandler的事件傳播
11.4 ChannelOutboundHandler的事件傳播
11.5 總結
11.6 思考
第12章 構建客戶端與服務端的Pipeline
12.1 ChannelInboundHandlerAdapter與ChannelOutboundHandlerAdapter
12.2 ByteToMessageDecoder
12.3 SimpleChannelInboundHandler
12.4 MessageToByteEncoder
12.5 構建客戶端與服務端的Pipeline
12.6 總結
12.7 思考
第13章 拆包/粘包理論與解決方案
13.1 拆包/粘包例子
13.2 為什么會有粘包、半包現(xiàn)象
13.3 拆包的原理
13.4 Netty自帶的拆包器
13.5 如何使用LengthFieldBasedFrameDecoder
13.6 拒絕非本協(xié)議連接
13.7 客戶端和服務端的Pipeline結構
13.8 總結
13.9 思考
第14章 ChannelHandler的生命周期
14.1 ChannelHandler的生命周期詳解
14.2 ChannelHandler生命周期各回調(diào)方法的用法舉例
14.3 總結
14.4 思考
第15章 使用ChannelHandler的熱插拔實現(xiàn)客戶端身份校驗
15.1 身份檢驗
15.2 移除校驗邏輯
15.3 身份校驗演示
15.4 總結
15.5 思考
第16章 客戶端互聊的原理與實現(xiàn)
16.1 最終效果
16.2 一對一單聊的原理
16.3 一對一單聊的實現(xiàn)
16.4 總結
16.5 思考
第17章 群聊的發(fā)起與通知
17.1 最終效果
17.2 群聊的原理
17.3 控制臺程序重構
17.4 創(chuàng)建群聊的實現(xiàn)
17.5 總結
17.6 思考
第18章 群聊的成員管理
18.1 最終效果
18.2 群的加入
18.3 群的退出
18.4 獲取群成員列表
18.5 總結
18.6 思考
第19章 群聊消息的收發(fā)及Netty性能優(yōu)化
19.1 群聊消息的最終效果
19.2 群聊消息的收發(fā)實現(xiàn)
19.3 共享Handler
19.4 壓縮Handler——合并編解碼器
19.5 縮短事件傳播路徑
19.6 減少阻塞主線程的操作
19.7 如何準確統(tǒng)計處理時長
19.8 總結
第20章 心跳與空閑檢測
20.1 網(wǎng)絡問題
20.2 服務端空閑檢測
20.3 客戶端定時發(fā)心跳數(shù)據(jù)包
20.4 服務端回復心跳與客戶端空閑檢測
20.5 總結
20.6 思考
下篇 源碼分析
第21章 服務端啟動流程解析
21.1 服務端啟動示例
21.2 服務端啟動的核心步驟
21.3 創(chuàng)建服務端Channel
21.4 初始化服務端Channel
21.5 注冊服務端Channel
21.6 綁定服務端端口
21.7 總結
第22章 Reactor線程模型解析
22.1 NioEventLoopGroup的創(chuàng)建
22.2 NioEventLoop對應線程的創(chuàng)建和啟動
22.3 NioEventLoop的執(zhí)行流程
22.4 總結
第23章 客戶端連接接入流程解析
23.1 新連接接入的總體流程
23.2 檢測到有新連接
23.3 注冊Reactor線程
23.4 總結
第24章 編碼原理解析
24.1 粘包與拆包
24.2 拆包的原理
24.3 Netty中拆包的基類
24.4 拆包抽象
24.5 行拆包器
24.6 特定分隔符拆包
24.7 LengthFieldBasedFrameDecoder 進階用法
24.8 LengthFieldBasedFrameDecoder源碼剖析
24.9 總結
第25章 ChannelPipeline解析
25.1 ChannelPipeline的初始化
25.2 ChannelPipeline添加ChannelHandler
25.3 ChannelPipeline刪除ChannelHandler
25.4 Inbound事件的傳播
25.5 Outbound事件的傳播
25.6 ChannelPipeline中異常的傳播
25.7 總結
第26章 writeAndFlush解析
26.1 Pipeline中的標準鏈表結構
26.2 Java對象編碼過程
26.3 write:寫隊列
26.4 flush:刷新寫隊列
26.5 writeAndFlush:寫隊列并刷新
26.6 總結
第27章 本書總結
27.1 Netty是什么
27.2 服務端和客戶端的啟動
27.3 ByteBuf
27.4 自定義協(xié)議拆包與編解碼
27.5 Handler與Pipeline
27.6 耗時操作的處理與統(tǒng)計
27.7 最后的話

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號