封面
版权信息
作者介绍
内容简介
推荐语
推荐序
前言
上篇 入门实战
第1章 即时聊天系统简介
1.1 单聊流程
1.2 单聊的指令
1.3 群聊流程
1.4 群聊要实现的指令集
1.5 Netty
1.6 本书实现的即时聊天形式
第2章 Netty是什么
2.1 IO编程
2.2 NIO编程
2.3 Netty编程
第3章 Netty开发环境配置
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 客户端发送数据到服务端
6.2 服务端读取客户端数据
6.3 服务端返回数据到客户端
6.4 总结
6.5 思考
第7章 数据载体ByteBuf的介绍
7.1 ByteBuf的结构
7.2 容量API
7.3 读写指针相关的API
7.4 读写API
7.5 实战
7.6 总结
7.7 思考
第8章 客户端与服务端通信协议编解码
8.1 什么是客户端与服务端的通信协议
8.2 通信协议的设计
8.3 通信协议的实现
8.4 总结
8.5 思考
第9章 实现客户端登录
9.1 登录流程
9.2 逻辑处理器
9.3 客户端发送登录请求
- APP免费
9.4 服务端发送登录响应
- APP免费
9.5 总结
- APP免费
9.6 思考
- APP免费
第10章 实现客户端与服务端收发消息
- APP免费
10.1 收发消息对象
- APP免费
10.2 判断客户端是否登录成功
- APP免费
10.3 在控制台输入消息并发送
- APP免费
10.4 服务端收发消息处理
- APP免费
10.5 客户端收消息处理
- APP免费
10.6 总结
- APP免费
10.7 思考
- APP免费
第11章 Pipeline与ChannelHandler
- APP免费
11.1 Pipeline与ChannelHandler的构成
- APP免费
11.2 ChannelHandler的分类
- APP免费
11.3 ChannelInboundHandler的事件传播
- APP免费
11.4 ChannelOutboundHandler的事件传播
- APP免费
11.5 总结
- APP免费
11.6 思考
- APP免费
第12章 构建客户端与服务端的Pipeline
- APP免费
12.1 ChannelInboundHandlerAdapter与ChannelOutboundHandlerAdapter
- APP免费
12.2 ByteToMessageDecoder
- APP免费
12.3 SimpleChannelInboundHandler
- APP免费
12.4 MessageToByteEncoder
- APP免费
12.5 构建客户端与服务端的Pipeline
- APP免费
12.6 总结
- APP免费
12.7 思考
- APP免费
第13章 拆包/粘包理论与解决方案
- APP免费
13.1 拆包/粘包例子
- APP免费
13.2 为什么会有粘包、半包现象
- APP免费
13.3 拆包的原理
- APP免费
13.4 Netty自带的拆包器
- APP免费
13.5 如何使用LengthFieldBasedFrameDecoder
- APP免费
13.6 拒绝非本协议连接
- APP免费
13.7 客户端和服务端的Pipeline结构
- APP免费
13.8 总结
- APP免费
13.9 思考
- APP免费
第14章 ChannelHandler的生命周期
- APP免费
14.1 ChannelHandler的生命周期详解
- APP免费
14.2 ChannelHandler生命周期各回调方法的用法举例
- APP免费
14.3 总结
- APP免费
14.4 思考
- APP免费
第15章 使用ChannelHandler的热插拔实现客户端身份校验
- APP免费
15.1 身份检验
- APP免费
15.2 移除校验逻辑
- APP免费
15.3 身份校验演示
- APP免费
15.4 总结
- APP免费
15.5 思考
- APP免费
第16章 客户端互聊的原理与实现
- APP免费
16.1 最终效果
- APP免费
16.2 一对一单聊的原理
- APP免费
16.3 一对一单聊的实现
- APP免费
16.4 总结
- APP免费
16.5 思考
- APP免费
第17章 群聊的发起与通知
- APP免费
17.1 最终效果
- APP免费
17.2 群聊的原理
- APP免费
17.3 控制台程序重构
- APP免费
17.4 创建群聊的实现
- APP免费
17.5 总结
- APP免费
17.6 思考
- APP免费
第18章 群聊的成员管理
- APP免费
18.1 最终效果
- APP免费
18.2 群的加入
- APP免费
18.3 群的退出
- APP免费
18.4 获取群成员列表
- APP免费
18.5 总结
- APP免费
18.6 思考
- APP免费
第19章 群聊消息的收发及Netty性能优化
- APP免费
19.1 群聊消息的最终效果
- APP免费
19.2 群聊消息的收发实现
- APP免费
19.3 共享Handler
- APP免费
19.4 压缩Handler——合并编解码器
- APP免费
19.5 缩短事件传播路径
- APP免费
19.6 减少阻塞主线程的操作
- APP免费
19.7 如何准确统计处理时长
- APP免费
19.8 总结
- APP免费
第20章 心跳与空闲检测
- APP免费
20.1 网络问题
- APP免费
20.2 服务端空闲检测
- APP免费
20.3 客户端定时发心跳数据包
- APP免费
20.4 服务端回复心跳与客户端空闲检测
- APP免费
20.5 总结
- APP免费
20.6 思考
- APP免费
下篇 源码分析
- APP免费
第21章 服务端启动流程解析
- APP免费
21.1 服务端启动示例
- APP免费
21.2 服务端启动的核心步骤
- APP免费
21.3 创建服务端Channel
- APP免费
21.4 初始化服务端Channel
- APP免费
21.5 注册服务端Channel
- APP免费
21.6 绑定服务端端口
- APP免费
21.7 总结
- APP免费
第22章 Reactor线程模型解析
- APP免费
22.1 NioEventLoopGroup的创建
- APP免费
22.2 NioEventLoop对应线程的创建和启动
- APP免费
22.3 NioEventLoop的执行流程
- APP免费
22.4 总结
- APP免费
第23章 客户端连接接入流程解析
- APP免费
23.1 新连接接入的总体流程
- APP免费
23.2 检测到有新连接
- APP免费
23.3 注册Reactor线程
- APP免费
23.4 总结
- APP免费
第24章 解码原理解析
- APP免费
24.1 粘包与拆包
- APP免费
24.2 拆包的原理
- APP免费
24.3 Netty中拆包的基类
- APP免费
24.4 拆包抽象
- APP免费
24.5 行拆包器
- APP免费
24.6 特定分隔符拆包
- APP免费
24.7 LengthFieldBasedFrameDecoder进阶用法
- APP免费
24.8 LengthFieldBasedFrameDecoder源码剖析
- APP免费
24.9 总结
- APP免费
第25章 ChannelPipeline解析
- APP免费
25.1 ChannelPipeline的初始化
- APP免费
25.2 ChannelPipeline添加ChannelHandler
- APP免费
25.3 ChannelPipeline删除ChannelHandler
- APP免费
25.4 Inbound事件的传播
- APP免费
25.5 Outbound事件的传播
- APP免费
25.6 ChannelPipeline中异常的传播
- APP免费
25.7 总结
- APP免费
第26章 writeAndFlush解析
- APP免费
26.1 Pipeline中的标准链表结构
- APP免费
26.2 Java对象编码过程
- APP免费
26.3 write:写队列
- APP免费
26.4 flush:刷新写队列
- APP免费
26.5 writeAndFlush:写队列并刷新
- APP免费
26.6 总结
- APP免费
第27章 本书总结
- APP免费
27.1 Netty是什么
- APP免费
27.2 服务端和客户端的启动
- APP免费
27.3 ByteBuf
- APP免费
27.4 自定义协议拆包与编解码
- APP免费
27.5 Handler与Pipeline
- APP免费
27.6 耗时操作的处理与统计
- APP免费
27.7 最后的话
- APP免费
后折页
- APP免费
封底
更新时间:2022-05-05 22:13:45