From 1c490ff27a0eeb4327923a9367f3a7c2aaa929b2 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期四, 28 十二月 2023 14:03:11 +0800
Subject: [PATCH] 优化雷达tcp客户端

---
 src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java b/src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java
index 6006f7c..da103a6 100644
--- a/src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java
+++ b/src/main/java/com/ard/utils/netty/tcp/BootNettyClient.java
@@ -23,6 +23,8 @@
     IArdEquipRadarService ardEquipRadarService;
     @Resource
     NettyTcpConfiguration nettyTcpConfig;
+
+
     static Integer waitTimes = 1;
     static EventLoopGroup eventLoopGroup = new NioEventLoopGroup();
     /**
@@ -33,17 +35,21 @@
             group = eventLoopGroup;
         }
         Bootstrap bootstrap = new Bootstrap();
-        bootstrap.group(group).channel(NioSocketChannel.class).option(ChannelOption.TCP_NODELAY, true)
-                .option(ChannelOption.SO_KEEPALIVE, true).handler(new BootNettyChannelInitializer<SocketChannel>());
+        bootstrap.group(group).channel(NioSocketChannel.class)
+                .option(ChannelOption.TCP_NODELAY, true)
+                .option(ChannelOption.SO_KEEPALIVE, true)
+                .handler(new BootNettyChannelInitializer());
         return bootstrap;
     }
- 
-    public void connect( String host,int port) throws Exception {
+
+    public void connect(ArdEquipRadar radar) throws Exception {
+        String host = radar.getIp();
+        int port=radar.getPort();
         log.debug("姝e湪杩涜杩炴帴锛氥��" + host+":"+port+"銆�");
         eventLoopGroup.shutdownGracefully();
         eventLoopGroup = new NioEventLoopGroup();
         Bootstrap bootstrap = getBootstrap(null);
- 
+
         try {
             bootstrap.remoteAddress(host, port);
             // 寮傛杩炴帴tcp鏈嶅姟绔�
@@ -57,13 +63,14 @@
                     bootNettyClientChannel.setChannel(channel);
                     bootNettyClientChannel.setCode("clientId:" + id);
                     BootNettyClientChannelCache.save("clientId:" + id, bootNettyClientChannel);
+                    BootNettyClientChannelCache.save(host+":"+port,radar);
                     log.debug("netty client start success=" + id);
                 } else {
 //                    System.err.println("杩炴帴澶辫触锛�" + waitTimes.toString() + "绉掑悗閲嶆柊杩炴帴:" + host);
                     try {
                         Thread.sleep(waitTimes * 1000);
                     } finally {
-                        connect(host,port);
+                        connect(radar);
                     }
                 }
             });
@@ -73,7 +80,7 @@
             try {
                 Thread.sleep(waitTimes * 1000);
             } finally {
-                connect(host,port);
+                connect(radar);
             }
             e.printStackTrace();
         } finally {
@@ -82,7 +89,7 @@
              */
             eventLoopGroup.shutdownGracefully().sync();
         }
- 
+
     }
     /**
      * 鍒濆鍖栨柟娉�
@@ -97,7 +104,7 @@
             String host = ardEquipRadar.getIp();
             Integer port = Integer.valueOf(ardEquipRadar.getPort());
             log.debug("TCP client try to connect radar銆愶細" + host + ":" + port+"銆�");
-            BootNettyClientThread thread = new BootNettyClientThread(host,port);
+            BootNettyClientThread thread = new BootNettyClientThread(ardEquipRadar);
             thread.start();
         }
     }

--
Gitblit v1.9.3