diff --git a/fastbee-server/boot-strap/src/main/java/com/fastbee/bootstrap/tcp/TCPBootStrap.java b/fastbee-server/boot-strap/src/main/java/com/fastbee/bootstrap/tcp/TCPBootStrap.java index 3c255b7a..e528557e 100644 --- a/fastbee-server/boot-strap/src/main/java/com/fastbee/bootstrap/tcp/TCPBootStrap.java +++ b/fastbee-server/boot-strap/src/main/java/com/fastbee/bootstrap/tcp/TCPBootStrap.java @@ -49,10 +49,9 @@ public class TCPBootStrap { .setIdleStateTime(keepAlive, 0, 0) .setPort(port) //设置报文最大长度 modbus-rtu - .setMaxFrameLength(2048) - // 注意:0x7E 是注册/心跳帧(7E...7E)的帧头/帧尾,不能作为“分隔符”strip 掉,否则会导致吞掉帧头形成 0x80...7E 的残帧。 - // 分隔符仅作为兜底(当既不是7E帧也不是Modbus RTU帧时),这里使用 '\n' 方便切分设备可能上报的ASCII日志行。 - .setDelimiters(new Delimiter(new byte[]{0x0A}, true)) + .setMaxFrameLength(1024) + // 此处就是ASCII和注册包粘包了,无需strip掉 “分隔符” 即可 + .setDelimiters(new Delimiter(new byte[]{0x7e}, false)) .setDecoder(messageAdapter) .setEncoder(messageAdapter) .setHandlerMapping(handlerMapping) diff --git a/fastbee-server/pom.xml b/fastbee-server/pom.xml index b0a0faf3..bbd96efd 100644 --- a/fastbee-server/pom.xml +++ b/fastbee-server/pom.xml @@ -32,7 +32,7 @@ io.netty netty-all - 4.1.56.Final + compile