From 9f8d7e3f8eb1e81e6eab411a415030085ff64da5 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 07 Mar 2023 14:09:09 +0800
Subject: [PATCH] 对讲设备读取数据修改

---
 src/main/java/com/genersoft/iot/vmp/netty/server/UdpServer.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/netty/server/UdpServer.java b/src/main/java/com/genersoft/iot/vmp/netty/server/UdpServer.java
index 2ecd6ec..7acf869 100644
--- a/src/main/java/com/genersoft/iot/vmp/netty/server/UdpServer.java
+++ b/src/main/java/com/genersoft/iot/vmp/netty/server/UdpServer.java
@@ -1,10 +1,12 @@
 package com.genersoft.iot.vmp.netty.server;
 
+import com.genersoft.iot.vmp.netty.config.MyDecoder;
 import com.genersoft.iot.vmp.netty.handle.UdpServerHandler;
 import io.netty.bootstrap.Bootstrap;
 import io.netty.channel.*;
 import io.netty.channel.nio.NioEventLoopGroup;
 import io.netty.channel.socket.nio.NioDatagramChannel;
+import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
 import io.netty.handler.codec.string.StringDecoder;
 import io.netty.handler.codec.string.StringEncoder;
 import io.netty.util.concurrent.DefaultEventExecutorGroup;
@@ -53,13 +55,16 @@
                             // TODO Auto-generated method stub
                             //创建一个执行Handler的容器
                             ChannelPipeline pipeline = ch.pipeline();
-                            pipeline.addLast(new StringDecoder());
-                            pipeline.addLast(new StringEncoder());
+//                            pipeline.addLast(new StringDecoder());
+                            pipeline.addLast("decoder",new MyDecoder());
+//                            pipeline.addLast(new StringEncoder());
+                            pipeline.addLast(new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 4, 4, -8, 0));
                             //执行具体的自定义处理器
                             pipeline.addLast(group, "handler", new UdpServerHandler());
                         }
 
                     })//初始化处理器
+
                     //true / false 多播模式(UDP适用),可以向多个主机发送消息
                     .option(ChannelOption.SO_BROADCAST, true)
                     // 设置UDP读缓冲区为2M

--
Gitblit v1.9.3