更新时间:2022-05-05 22:13:45
封面
版权信息
作者介绍
内容简介
推荐语
推荐序
前言
上篇 入门实战
第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 客户端发送登录请求
9.4 服务端发送登录响应
9.5 总结
9.6 思考
第10章 实现客户端与服务端收发消息
10.1 收发消息对象
10.2 判断客户端是否登录成功
10.3 在控制台输入消息并发送
10.4 服务端收发消息处理
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 为什么会有粘包、半包现象
13.3 拆包的原理
13.4 Netty自带的拆包器
13.5 如何使用LengthFieldBasedFrameDecoder
13.6 拒绝非本协议连接
13.7 客户端和服务端的Pipeline结构
13.8 总结
13.9 思考
第14章 ChannelHandler的生命周期
14.1 ChannelHandler的生命周期详解
14.2 ChannelHandler生命周期各回调方法的用法举例
14.3 总结
14.4 思考
第15章 使用ChannelHandler的热插拔实现客户端身份校验