前言
文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820…
种一棵树最好的时间是十年前,其次是现在
絮叨
最近看了下掘金小测 Netty 入门与实战:仿写微信 IM 即时通讯系统 ,然后巩固了下自己前面的学习,然后就想着做个学习记录吧,把实战的内容。
github 对应的分支的话,就是下面这个
,我主要是从这个分支下来总结一下学习记录吧! 也是实战内容
总的结构
- attribute 这里面是用来给channal 设置值的 每个连接的值
- client 客户端
- codec 编码解码
- protocol 粘包拆包
- serialize 序列化
- server 服务端
- session 用户信息
- util 工具
然后我们分开来看 服务端和客户端
服务端
最主要是这几个hander,那么我们来看看
- Spliter 这个是用来解决粘包拆包,多包问题的 确定我们的魔数 我们的内容字节,这样我们收到的包就就不会有不完整的了。
- PacketCodecHandler 这个就是编码和解码的
- LoginRequestHandler 处理登录请求的
- AuthHandler 鉴权 意思是登录之后,并不是后面的责任链都需要去鉴权,所以就有这个鉴权的逻辑
- IMHandler 群聊和单聊相关的逻辑
以上就是我们服务端的编写,具体的代码大家自己下载去看看。
客户端
我们可以看出,他的处理hander就比较多了,因为很多业务的hander在里面.什么加入群聊,通知群聊,退出群聊,等等逻辑都在里面了,
结尾
其实就是记录一下,下次用到的时候好找,这个文章推荐大家直接看源码撸,然后还得要有点基础这样。
日常求赞
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是真粉。
创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章
六脉神剑 | 文 【原创】如果本篇博客有任何错误,请批评指教,不胜感激 !