From 9facff13b19a0c16216c63ae385a4ab067993b20 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Mon, 29 Apr 2024 21:24:08 +0800 Subject: [PATCH] =?UTF-8?q?1078-=E6=B7=BB=E5=8A=A0=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=88=86=E5=8C=85=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/jt1078/codec/encode/Jt808EncoderCmd.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/codec/encode/Jt808EncoderCmd.java b/src/main/java/com/genersoft/iot/vmp/jt1078/codec/encode/Jt808EncoderCmd.java index c3d1aed11..d4097b817 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/codec/encode/Jt808EncoderCmd.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/codec/encode/Jt808EncoderCmd.java @@ -52,17 +52,17 @@ public class Jt808EncoderCmd extends MessageToByteEncoder { Header header = msg.getHeader(); List byteBufList = new LinkedList<>(); - - if (encode.readableBytes() > 1024) { + if (encode.readableBytes() > 1000) { int index = 1; - int total = encode.readableBytes()/1024 + 1; + int total = encode.readableBytes()%1000 == 0 ? encode.readableBytes()/1000 : (encode.readableBytes()/1000 + 1); while (encode.isReadable()) { ByteBuf byteBuf; if (index == total) { - byteBuf = buildMsgByte(header, id, session, packageNo, encode.readRetainedSlice(encode.readableBytes() - index * 1024), index, total); + byteBuf = buildMsgByte(header, id, session, packageNo, encode.readRetainedSlice(encode.readableBytes()), index, total); }else { - byteBuf = buildMsgByte(header, id, session, packageNo, encode.readBytes(1024), index, total); + byteBuf = buildMsgByte(header, id, session, packageNo, encode.readRetainedSlice(1000), index, total); } + byteBufList.add(byteBuf); index ++; }