Netty是什么
- 异步事件驱动框架,用于快速开发高性能服务端和客户端
- 封装了JDK底层BIO和NIO模型,提供高度可用的API
- 自带编码器解决拆包粘包问题,用户只关心业务逻辑
- 精心设计的reactor线程模型支持高并发海量连接
- 自带各种协议栈
原始的Socket
服务端
1 | public class ServerBoot |
1 | public class Server |
客户端
1 | public class Client { |
1 | public class ClientHandler { |
交互流程
Netty对于Socket的抽象
Netty基本组件
NioEventLoop:监听客户端的连接,监听客户端的读写
Channel:对连接的封装,在连接中可以进行数据的读写
Pipeline:对数据的读写可以看作逻辑处理链
ChannelHandler:逻辑处理链中处理的逻辑
ByteBuf:对数据的读写都是用ByteBuf来操作的