JAVA自定义协议解析
在JAVA中, 一般来说自定义协议都是涉及到物联网平台。字节数组和对象操作特别多。
使用netty, 然后使用byteBuffer 进行解包 或者 封包操作。
平时来说这个是没什么问题的。 但是 很多时候我们开发讲究的是效率。
所以这里我推一波我自己写的开发框架。magic-byte
1. 引入框架包
<!-- https://mvnrepository.com/artifact/io.github.misterchangray/magic-byte -->
<dependency><groupId>io.github.misterchangray</groupId><artifactId>magic-byte</artifactId><version>1.0.1</version>
</dependency>
2. 编写实体类定义
@MagicClass(autoTrim = true)
public class Phone {@MagicField(order = 1, size = 8)private String brand;@MagicField(order = 2)private long phone;// getter and setter
}
上面的意思是,序列化字节 第一个元素是 brand, 占用 8个字节, 第二个元素是 phone, 占用 8个字节。
3. 使用框架进行序列化
Phone p = new Phone();byte[] tmp = MagicByte.unpackToByte(p); // 对象序列化到字节
Phone pack = MagicByte.pack(tmp, Phone .class); // 字节序列化到对象
soeay,.对吧
这样可以节省不少的劳动力的。
此框架在我司内部项目已经运行超过2年, 40W设备在线。
附上项目地址:
GitHub - MisterChangRay/magic-byte: faster convert byte to java object tool faster convert byte to java object tool. Contribute to MisterChangRay/magic-byte development by creating an account on GitHub.https://github.com/misterchangray/magic-byte欢迎点赞,沟通。
JAVA自定义协议解析相关推荐
- java 自定义json解析注解 复杂json解析 工具类
java 自定义json解析注解 复杂json解析 工具类 目录 java 自定义json解析注解 复杂json解析 工具类 1.背景 2.需求-各式各样的json 一.一星难度json[json对象 ...
- Modbus通信协议+Modbus串口调试工具+Java版协议解析源码
网络与串口二合一调试助手TCPCOM: https://download.csdn.net/download/liuyuan_java/87454762 Modbus调试工具,模拟串口调试工具 htt ...
- java自定义注解解析及自定义注解
jdk1.5之后提供了注解(Annotation)这一种语法.其主要作用是编译检查(比如@override)和代码分析(通过代码中添加注解,利用注解解析器对添加了注解的代码进行分析,获取想要的结果,一 ...
- java自定义变量解析,Thymeleaf内置对象、定义变量、URL参数及标签自定义属性
如标题所述,这篇文章主要讲述Thymeleaf中的内置对象(list解析.日期格式化.数字格式化等).定义变量.获取URL的参数和在页面标签中自定义属性的应用. 如果对Thymeleaf的基本使用.m ...
- java自定义注解解析
开始接触java注解的时候,感觉是个很高深的概念,经过一段时间的学习,对注解有了新的认识,并没有想象的那么复杂. 注解本质上就是一个标记,是给程序看的. 如果自定义了一个注解,但是没有对自定义的注解做 ...
- java 自定义注解 解析_java自定义注解
1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...
- java 自定义语言 解析_视频讲解 Java 语言基础编程题(自定义异常类,IO 流)
第一题>点击这里查看学生信息管理系统的视频讲解知乎视频www.zhihu.com 基于学生信息管理系统增加以下两个功能:自定义学号异常类和年龄异常类,并在该成员变量不合理时产生异常对象并抛出. ...
- 物联网架构成长之路(35)-利用Netty解析物联网自定义协议
一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做 ...
- java报文封装_Java自定义协议报文封装 添加Crc32校验的实例
刚做完的demo,直接进入主题了,开启两个线程,模拟Socket服务端和客户端通信,将数据封装为指定格式报文发送 代码: import java.io.IOException; import java ...
最新文章
- dhl: js判断网页对象是否存在
- Catalyst6500系列引擎上MSFC和PFC的区别
- 关键点检测算法(一)总体介绍
- 牛逼!Python常用数据类型的基本操作(长文系列第①篇)
- 电脑边充电边用好吗_平板电脑充电推车厂家哪家好?
- JavaEE Tutorials (17) - Java消息服务示例
- 【CF global1 D / CF1110D】 Jongmah
- NoSQL系列:选择合适的数据库
- Ubuntu16.04 + Matlab2018+ desktop creation
- gdal - ogr简单对象模型
- Android学习之Image操作及时间日期选择器
- 服务器监控页面html_Nmon实时监控并生成HTML监控报告
- 线程池创建线程数量讨论
- 使用keras和tensorflow进行minst数据集图像分类
- java完全自学手册txt下载
- MFC中进度条的学习
- The Phantom of the Opera 歌剧魅影
- 第1关:小球自由落体运动-------C语言程序设计技术(循环结构程序设计1)
- 用计算机进行图片处理教案,第八册计算机教案(全册)
- 2.ZooKeeper客户端Curator「第三章 ZooKeeper Java客户端」「架构之路ZooKeeper理论和实战」
热门文章
- 云+社区技术沙龙丨解析腾讯最新开源项目背后的技术栈
- excel-多行内容分组合并-分类汇总(汇总不求和只合并内容)
- 刚毕业做真实运维简历模板参考
- Kubernetes Ingress and Services 故障排查
- 魔拉格头皮净养凝露,告别满头油腻,还原头发清新
- 小企业智能路由器的应用 (用智能路由器推广你的烤肉饭)
- 强制在线带修区间LCM(线段树+质因子状压)
- 【简正波作业】——深度模态函数提取
- 赋能千行百业,AI究竟走到哪一步了?
- intell IDEA 代码自动提示功能没有LE ---File Power Save Mode 被勾选了 去掉勾选就可以了