在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自定义协议解析相关推荐

  1. java 自定义json解析注解 复杂json解析 工具类

    java 自定义json解析注解 复杂json解析 工具类 目录 java 自定义json解析注解 复杂json解析 工具类 1.背景 2.需求-各式各样的json 一.一星难度json[json对象 ...

  2. Modbus通信协议+Modbus串口调试工具+Java版协议解析源码

    网络与串口二合一调试助手TCPCOM: https://download.csdn.net/download/liuyuan_java/87454762 Modbus调试工具,模拟串口调试工具 htt ...

  3. java自定义注解解析及自定义注解

    jdk1.5之后提供了注解(Annotation)这一种语法.其主要作用是编译检查(比如@override)和代码分析(通过代码中添加注解,利用注解解析器对添加了注解的代码进行分析,获取想要的结果,一 ...

  4. java自定义变量解析,Thymeleaf内置对象、定义变量、URL参数及标签自定义属性

    如标题所述,这篇文章主要讲述Thymeleaf中的内置对象(list解析.日期格式化.数字格式化等).定义变量.获取URL的参数和在页面标签中自定义属性的应用. 如果对Thymeleaf的基本使用.m ...

  5. java自定义注解解析

    开始接触java注解的时候,感觉是个很高深的概念,经过一段时间的学习,对注解有了新的认识,并没有想象的那么复杂. 注解本质上就是一个标记,是给程序看的. 如果自定义了一个注解,但是没有对自定义的注解做 ...

  6. java 自定义注解 解析_java自定义注解

    1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...

  7. java 自定义语言 解析_视频讲解 Java 语言基础编程题(自定义异常类,IO 流)

    第一题>点击这里查看学生信息管理系统的视频讲解知乎视频​www.zhihu.com 基于学生信息管理系统增加以下两个功能:自定义学号异常类和年龄异常类,并在该成员变量不合理时产生异常对象并抛出. ...

  8. 物联网架构成长之路(35)-利用Netty解析物联网自定义协议

    一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做 ...

  9. java报文封装_Java自定义协议报文封装 添加Crc32校验的实例

    刚做完的demo,直接进入主题了,开启两个线程,模拟Socket服务端和客户端通信,将数据封装为指定格式报文发送 代码: import java.io.IOException; import java ...

最新文章

  1. dhl: js判断网页对象是否存在
  2. Catalyst6500系列引擎上MSFC和PFC的区别
  3. 关键点检测算法(一)总体介绍
  4. 牛逼!Python常用数据类型的基本操作(长文系列第①篇)
  5. 电脑边充电边用好吗_平板电脑充电推车厂家哪家好?
  6. JavaEE Tutorials (17) - Java消息服务示例
  7. 【CF global1 D / CF1110D】 Jongmah
  8. NoSQL系列:选择合适的数据库
  9. Ubuntu16.04 + Matlab2018+ desktop creation
  10. gdal - ogr简单对象模型
  11. Android学习之Image操作及时间日期选择器
  12. 服务器监控页面html_Nmon实时监控并生成HTML监控报告
  13. 线程池创建线程数量讨论
  14. 使用keras和tensorflow进行minst数据集图像分类
  15. java完全自学手册txt下载
  16. MFC中进度条的学习
  17. The Phantom of the Opera 歌剧魅影
  18. 第1关:小球自由落体运动-------C语言程序设计技术(循环结构程序设计1)
  19. 用计算机进行图片处理教案,第八册计算机教案(全册)
  20. 2.ZooKeeper客户端Curator「第三章 ZooKeeper Java客户端」「架构之路ZooKeeper理论和实战」

热门文章

  1. 云+社区技术沙龙丨解析腾讯最新开源项目背后的技术栈
  2. excel-多行内容分组合并-分类汇总(汇总不求和只合并内容)
  3. 刚毕业做真实运维简历模板参考
  4. Kubernetes Ingress and Services 故障排查
  5. 魔拉格头皮净养凝露,告别满头油腻,还原头发清新
  6. 小企业智能路由器的应用 (用智能路由器推广你的烤肉饭)
  7. 强制在线带修区间LCM(线段树+质因子状压)
  8. 【简正波作业】——深度模态函数提取
  9. 赋能千行百业,AI究竟走到哪一步了?
  10. intell IDEA 代码自动提示功能没有LE ---File Power Save Mode 被勾选了 去掉勾选就可以了