当前位置: 首页 > news >正文

37.自定义协议

自定义协议要素

1.魔数:用来第一时间判定是否是无效数据包。

2.版本号:主持协议升级。

3.序列化算法:消息正文到底采用那种序列化方式,可以由此扩展,例如:json,protobuf(google的序列化算法,基于二进制,虽然可读性不好,但是字节数占用更少),hessian(基于二进制),jdk(缺点多,不能跨平台,性能也不好)。就是把复杂的对象以一种通用的格式,让各个平台都支持的格式来进行传输。

4.指令类型:登录、注册、单聊、群聊...跟业务相关。

5.请求序号:为了双工通信,提供异步能力。

6.正文长度

7.消息正文

对自定义消息做一个自定义的编解码操作:

Message类

package com.xkj.message;import lombok.Data;import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;@Data
public abstract class Message implements Serializable {public static Class<?> getMessageClass(int messageT
http://www.lryc.cn/news/380837.html

相关文章:

  • 【React Native】measureInWindow在安卓上无法正确获取View在屏幕上的布局信息
  • C++ 教程 - 04 类的使用
  • excel按模板文件导出多个文件并压缩为ZIP格式返回前端
  • 自动驾驶仿真测试用例表格示例 ACC ELK FCW
  • 数组 (java)
  • 时序预测 | Matlab基于Transformer多变量时间序列多步预测
  • suuk-s.php.jpg-python 库劫持
  • python3GUI--ktv点歌软件By:PyQt5(附下载地址)
  • opencascade AIS_InteractiveContext源码学习2
  • scale()函数详解
  • 计算机基础学习有多重要?学哪些?如何学?
  • Oracle day9
  • Race Condition竞争条件
  • docker 删除本地镜像释放磁盘空间
  • JVM中的垃圾回收器
  • 记录一些可用的AI工具网站
  • vue3页面传参
  • QNX OS微内核系统
  • ViT:5 Knowledge Distillation
  • 2024头歌数据库期末综合(部分题)
  • 【Flask】学习
  • 图像数字化基础
  • 让你的Python代码更简洁:一篇文章带你了解Python列表推导式
  • 基于Matlab的BP神经网络的车牌识别系统(含GUI界面)【W7】
  • jetpack compose的@Preview和自定义主题
  • Temu(拼多多跨境电商) API接口:获取商品详情
  • ArcGIS Pro SDK (五)内容 2 工程项
  • 【ai】初识pytorch
  • pcl::PointXYZRGBA造成点云无法显示
  • 【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)