3.常用的“二次”编解码方式

server/2024/12/22 20:01:52/

为什么需要“二次”编解码?

假设我们把解决半包粘包问题的常用三种解码器叫一次解码器
在这里插入图片描述
那么我们在项目中,除了可选的的压缩解压缩之外,还需要一层解码,因为一次解码的结果是字节,需要和项目中所使用的对象做转化,方便使用,这层解码器可以称为“二次解码器”,相应的,对应的编码器是为了将 Java 对象转化成字节流方便存储或传输。

一次解码器:ByteToMessageDecoder
• io.netty.buffer.ByteBuf (原始数据流)-> io.netty.buffer.ByteBuf (用户数据)
二次解码器:MessageToMessageDecoder
• io.netty.buffer.ByteBuf (用户数据)-> Java Object

常用的“二次”编解码方式

  1. Java 序列化
  2. Marshaling
  3. XML
  4. JSON
  5. MessagePack
  6. Protobuf
  7. 其他

源码解读

在这里插入图片描述


http://www.ppmy.cn/server/18320.html

相关文章

基于实现地图弹窗轮播功能及遇到的问题解决

基本使用 获取地图 geojson 数据 链接&#xff1a; 阿里云数据可视化平台 获取ECharts npm install echarts 或者是使用地址链接 <script src"https://registry.npmmirror.com/echarts/5.4.3/files/dist/echarts.min.js"></script> <script src…

详细解析什么是期权交易的获利方法

期权交易的获利方法 在期权交易之前进行充分的准备工作和风险评估是至关重要的。其中行情结构、策略方法、预期收益和风险评估&#xff0c;是期权交易成功的关键要素。它们能帮助我们更好地制定交易计划&#xff0c;控制风险&#xff0c;并追求稳定的利润。以下是对这四点的详…

各省人力资本数据集(2005-2022年)

01、数据简介 人力资本是指凝聚在劳动者身上的知识、技能和健康等要素所构成的一种资本类型。这种资本是通过投资形成的&#xff0c;包括教育、培训、实践经验、保健等方面的投入&#xff0c;以及在劳动力国内流动和移民入境等方面的投资。人力资本是经济增长和发展的重要因素…

设计模式:里氏代换原则(Liskov Substitution Principle,LSP)介绍

里氏代换原则&#xff08;Liskov Substitution Principle&#xff0c;LSP&#xff09;是面向对象设计原则的一部分&#xff0c;它强调子类对象应该能够替换其父类对象而不影响程序的正确性。换句话说&#xff0c;子类对象应该可以在不改变程序正确性的前提下替换掉父类对象。 …

父类、接口、功能类的个人理解

父类、接口、功能类的个人理解 三种设计思路 三种设计思路 类&#xff1a;最常见&#xff0c;能够实现所有功能 功能类&#xff1a;实现特定功能的类 接口&#xff1a; 1.对外暴露&#xff0c;实现类实现指定功能&#xff0c;然后暴露指定方法供外部调用。 2.常按照功能来创建…

LeetCode 151. 反转字符串中的单词

LeetCode 151. 反转字符串中的单词 1、题目 题目链接&#xff1a;151. 反转字符串中的单词 给你一个字符串 s &#xff0c;请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间…

MATLAB初学者入门(9)—— 线性回归

线性回归是一种统计方法&#xff0c;用于建立一个或多个自变量&#xff08;解释变量&#xff09;和因变量之间的关系模型。在MATLAB中&#xff0c;可以使用多种方法来实现线性回归&#xff0c;包括使用内置函数如fitlm、regress或直接使用矩阵运算来求解。以下是一些详细的案例…

elment ui 中el-input标签中@input初始化赋值触发问题

遇见问题记录起来&#xff0c;方便以后隔了很久再次遇到。 elment ui 中el-input标签中input初始化赋值时会触发到input方法 <el-input-numberv-model"scope.row.discount_value":controls"false":min"0":precision"0"input"…