JAVA自定义协议解析

在JAVA中, 一般来说自定义协议都是涉及到物联网平台。字节数组和对象操作特别多。

使用netty, 然后使用byteBuffer 进行解包 或者 封包操作。

平时来说这个是没什么问题的。 但是 很多时候我们开发讲究的是效率。

所以这里我推一波我自己写的开发框架。magic-byte

1. 引入框架包



    io.github.misterchangray
    magic-byte
    1.0.1

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,bytearray,协议栈)