From a20bc4abb2b913bf03dda03a45d835da090cf9aa Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期三, 27 十二月 2023 22:18:11 +0800
Subject: [PATCH] 雷达通过ip和端口关联

---
 src/main/java/com/ard/utils/netty/tcp/ClientHandler.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ard/utils/netty/tcp/ClientHandler.java b/src/main/java/com/ard/utils/netty/tcp/ClientHandler.java
index e63dbb2..4d22142 100644
--- a/src/main/java/com/ard/utils/netty/tcp/ClientHandler.java
+++ b/src/main/java/com/ard/utils/netty/tcp/ClientHandler.java
@@ -8,6 +8,7 @@
 import com.ard.utils.util.GisUtils;
 import com.ard.utils.mqtt.MqttProducer;
 import io.netty.buffer.ByteBuf;
+import io.netty.channel.Channel;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.ChannelId;
 import io.netty.channel.SimpleChannelInboundHandler;
@@ -16,6 +17,7 @@
 
 import javax.xml.bind.DatatypeConverter;
 import java.net.InetSocketAddress;
+import java.net.SocketAddress;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.ScheduledFuture;
@@ -61,7 +63,7 @@
         int port = ipSocket.getPort();
         String host = ipSocket.getHostString();
         log.error("涓庤澶�" + host + ":" + port + "杩炴帴鏂紑!");
-        ArdEquipRadar ardEquipRadar = ClientInitialize.tureConnectMap.get(id);
+        ArdEquipRadar ardEquipRadar = ClientInitialize.tureConnectMap.get(host+ ":" + port);
         // 杩炴帴鏂紑鍚庣殑鏈�鍚庡鐞�
         ctx.pipeline().remove(this);
         ctx.deregister();
@@ -82,8 +84,10 @@
      */
     @Override
     public void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) throws Exception {
-        ChannelId id = ctx.channel().id();
-        ArdEquipRadar ardEquipRadar = ClientInitialize.tureConnectMap.get(id);
+        InetSocketAddress ipSocket = (InetSocketAddress) ctx.channel().remoteAddress();
+        int port = ipSocket.getPort();
+        String host = ipSocket.getHostString();
+        ArdEquipRadar ardEquipRadar = ClientInitialize.tureConnectMap.get(host+":"+port);
         // 澶勭悊鎺ユ敹鍒扮殑娑堟伅
         byte[] byteArray = new byte[msg.readableBytes()];
         msg.getBytes(msg.readerIndex(), byteArray);

--
Gitblit v1.9.3