‘liusuyi’
2024-03-27 a850200a330feceb0e64650bb6dfc47eec5478c7
src/main/java/com/ard/utils/netty/tcp/handler/MessageHandler.java
@@ -57,16 +57,16 @@
        int crcLength = 4;//crc校验4个字节
        //去掉包头包尾
        byte[] payloadCrc32 = ByteUtils.removeHeaderAndFooter(packet, headerLength, footerLength);
        System.out.println(DatatypeConverter.printHexBinary(payloadCrc32));
        //System.out.println(DatatypeConverter.printHexBinary(payloadCrc32));
        //获取到数据携带的crc32值
        byte[] oldCrc32 = ByteUtils.getLastBytes(payloadCrc32, crcLength);
        System.out.println(DatatypeConverter.printHexBinary(oldCrc32));
        //System.out.println(DatatypeConverter.printHexBinary(oldCrc32));
        //去掉包头包尾crc32字节,仅保留负载
        byte[] payload = ByteUtils.removeHeaderFooterAndCRC(packet, headerLength, footerLength, crcLength);
        System.out.println(DatatypeConverter.printHexBinary(payload));
        //System.out.println(DatatypeConverter.printHexBinary(payload));
        //计算负载的crc32值
        byte[] NewCrc32 = ByteUtils.parseCrc32(payload);
        System.out.println(DatatypeConverter.printHexBinary(NewCrc32));
        //System.out.println(DatatypeConverter.printHexBinary(NewCrc32));
        //判断数据的crc32校验值和计算值是否相同
        if (Arrays.equals(oldCrc32, NewCrc32)) {
            return true;