基本组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GiJlgL6r-1650625844191)(//upload-images.jianshu.io/upload_images/24483793-26157847878c212c.png?imageMogr2/auto-orient/strip|imageView2/2/w/989/format/webp)]
从图中可以看出,netty主要涉及以下几个部分
- NioEventLoop:netty的核心发动机,在死循环中select OP_READ/OP_ACCEPT事件
- Channel:把NIO中SocketChannel封装成netty的NioSocketChannel(接收客户端连接后创建的channel);把NIO中ServerSocketChannel封装成netty的NioServerSocketChannel(netty server端启动时创建,绑定服务端端口);
- ByteBuf:对channel中数据进行读写
- Pipeline:把用户业务逻辑使用责任链串联起来,后面用户读写用户数据时会经过责任链中每个节点进行处理(接收到客户端连接创建NioSocketChannel时创建)
- ChannelHandler:pipeline中的节点,负责处理具体的业务逻辑
基本流程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L6jc65K8-1650625844206)(//upload-images.jianshu.io/upload_images/24483793-869d54d3684f1dda.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)]
<