ÎļþÃû´Ó src/main/java/com/ard/utils/netty/tcp/MessageHandler.java ÐÞ¸Ä |
| | |
| | | package com.ard.utils.netty.tcp; |
| | | package com.ard.utils.netty.tcp.handler; |
| | | |
| | | import com.ard.utils.util.ByteUtils; |
| | | |
| | |
| | | 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)); |
| | | //廿å
头å
å°¾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)); |
| | | //å¤ææ°æ®çcrc32æ ¡éªå¼å计ç®å¼æ¯å¦ç¸å |
| | | if (Arrays.equals(oldCrc32, NewCrc32)) { |
| | | return true; |