Netty实战IM(简单)

简介: 前言文本已收录至我的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在里面.什么加入群聊,通知群聊,退出群聊,等等逻辑都在里面了,


结尾


其实就是记录一下,下次用到的时候好找,这个文章推荐大家直接看源码撸,然后还得要有点基础这样。注明出处。

相关文章
|
网络协议 Java 测试技术
阿里内部Netty实战小册,值得拥有
Netty 是一个高性能的 Java 网络通信框架,简化了网络编程并涵盖了最新的Web技术。它提供了一种抽象,降低了底层复杂性,使得更多开发者能接触网络编程。Netty 因其易用性、高效性和广泛的应用场景受到推崇,适合互联网行业从业者学习,有助于理解和开发基于Netty的系统。免费的《Netty实战小册》详细介绍了Netty的各个方面,包括概念、架构、编解码器、网络协议和实际案例,帮助读者深入理解和应用Netty。如需完整版小册,可点击链接获取。
阿里内部Netty实战小册,值得拥有
|
存储 自然语言处理 机器人
实战揭秘:当RAG遇上企业客服系统——从案例出发剖析Retrieval-Augmented Generation技术的真实表现与应用局限,带你深入了解背后的技术细节与解决方案
【10月更文挑战第3天】随着自然语言处理技术的进步,结合检索与生成能力的RAG技术被广泛应用于多个领域,通过访问外部知识源提升生成内容的准确性和上下文一致性。本文通过具体案例探讨RAG技术的优势与局限,并提供实用建议。例如,一家初创公司利用LangChain框架搭建基于RAG的聊天机器人,以自动化FAQ系统减轻客服团队工作负担。尽管该系统在处理简单问题时表现出色,但在面对复杂或多步骤问题时存在局限。此外,RAG系统的性能高度依赖于训练数据的质量和范围。因此,企业在采用RAG技术时需综合评估需求和技术局限性,合理规划技术栈,并辅以必要的人工干预和监督机制。
1264 3
|
开发工具 开发者
HarmonyOS实战:腾讯IM之聊天详情页面搭建(二)
本文讲解了在鸿蒙系统中实现腾讯IM聊天功能的完整流程,涵盖对话列表展示、历史消息获取、实时消息更新及文本消息发送等核心功能。通过实际代码示例,详细说明了如何利用IM SDK实现聊天业务逻辑。适合开发者逐步学习并实践,建议点赞收藏以便参考。
354 9
HarmonyOS实战:腾讯IM之聊天详情页面搭建(二)
HarmonyOS实战:腾讯IM之消息删除、撤回和重发(三)
本文详细介绍了鸿蒙 IM 聊天中实现消息撤回、删除和重发功能的方法。消息撤回支持在 120 秒内召回自己发送的消息,通过 `revokeMessage` 方法实现;消息删除使用 `deleteMessage` 方法清除本地与云端记录;消息重发则先删除失败消息再重新发送,并处理用户被拉黑的异常情况。结合状态管理,可轻松实现类似微信的功能,建议点赞收藏并动手实践!
623 3
HarmonyOS实战:腾讯IM之消息删除、撤回和重发(三)
|
开发工具 Android开发 iOS开发
HarmonyOS实战:腾讯IM之聊天列表搭建(一)
本文详细介绍了在鸿蒙系统中实现腾讯IM聊天列表页面的过程。由于腾讯仅提供了接口而无现成UI,需自行开发。文章涵盖需求分析(如删除功能、时间排序、消息更新)、技术实现(展示会话列表、新增会话、删除会话)等内容,并附代码示例。最终实现了类似微信的聊天列表功能,建议点赞收藏以便后续参考。
465 5
HarmonyOS实战:腾讯IM之聊天列表搭建(一)
|
11月前
|
人工智能 自然语言处理 监控
生成式AI客服实战:智能客服机器人5大自动化能力处理80%高频咨询,释放60%客服人力
生成式AI驱动的智能客服机器人通过五大核心能力自动化处理80%高频咨询,释放60%客服人力。以合力亿捷方案为例,融合大模型与业务知识图谱,实现服务精准化、决策智能化,推动企业服务成本下降超40%。
819 0
|
自然语言处理 Prometheus 监控
基于DeepSeek的智能客服系统实战:从开发到部署
本文详细介绍如何将基于DeepSeek的智能客服系统从开发到部署,涵盖服务器选择、环境配置、代码部署及Web服务器设置。通过具体案例和代码示例,讲解系统上线步骤,并介绍使用Prometheus、Grafana等工具进行性能监控的方法。此外,针对高并发、API调用失败等常见问题提供解决方案,确保系统的稳定运行。最后强调数据安全与隐私保护的重要性,帮助读者全面掌握智能客服系统的部署与维护。
|
编解码 NoSQL Redis
(十一)Netty实战篇:基于Netty框架打造一款高性能的IM即时通讯程序
关于Netty网络框架的内容,前面已经讲了两个章节,但总归来说难以真正掌握,毕竟只是对其中一个个组件进行讲解,很难让诸位将其串起来形成一条线,所以本章中则会结合实战案例,对Netty进行更深层次的学习与掌握,实战案例也并不难,一个非常朴素的IM聊天程序。
700 3