netty学习笔记(四)观闪电侠小册netty总结
文章目录
前言
大二的时候买了一个某团大佬的netty掘金小册,看了一遍懵懵懂懂,当看完netty in action书籍之后,再次回味细品,还有很多值得学习的地方。
1.Nio概念
可以看到由一个io线程来负责多个socket的请求情况管理,这里是selector。其中有两个,一个负责接客,一个负责服务请求。
个人总结
客户端连接服务端需要用channel才能发送消息,channelFuture再获取channel是发送不了的
2.boostrap
这个是连接的相关配置。
对channel进行相关参数配置以及netty配置
3.客户端连接失败重试
就是添加监听器,如果失败重新连接。
4.ButeBuf
read,write会对索引进行偏移,如果读取不到会抛出异常。
5.ChannelPipeline
6.编码解码
ByteBuf是堆外内存,所以调用之后需要release.注意图片中画红框部分。
6.1粘包拆包
7.可拔插链路
@Sharble
ctx.writeAndFlush跟ctx.channel.writeAndFlush区别
8.避免阻塞Nio里面channel
我们知道nio里面通过一个io线程来处理数据,如果阻塞了对其他线程的影响蛮大的。
9.多人直播间实现
小册中实现的多人聊天是使用channelGroup去实现的,如果是分布式环境就得重新写了。直播间号跟用户id使用map来保存,这些相对比较简单。