From facc0ea3fa37091a98aa1e0a0d1081fd32fba28e Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期六, 27 一月 2024 11:38:29 +0800
Subject: [PATCH] 优化协议

---
 src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java b/src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java
index 044b901..972ccf6 100644
--- a/src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java
+++ b/src/main/java/com/fzzy/protocol/youxian0/client/ClientEngine.java
@@ -30,7 +30,7 @@
 
     private String host;
     private int port;
-    public Channel defaultChannel;
+    public static Channel defaultChannel;
 
 
     public ClientEngine(String host, int port) {
@@ -46,6 +46,7 @@
     @Override
     public void run() {
         try {
+
             startClient();
         } catch (Exception e) {
             e.printStackTrace();
@@ -53,6 +54,10 @@
     }
 
     public void startClient() throws Exception {
+        if(defaultChannel != null){
+            log.info("-----IP={},杩炴帴瀛樺湪锛岀洿鎺ヤ娇鐢�",host);
+            return;
+        }
         EventLoopGroup group = new OioEventLoopGroup();
         Bootstrap b = new Bootstrap();
         //榛樿闀胯繛鎺�
@@ -82,9 +87,9 @@
             @Override
             public void operationComplete(ChannelFuture arg0) throws Exception {
                 if (channelFuture.isSuccess()) {
-                    log.info("-----IP={},杩炴帴鎴愬姛");
+                    log.info("-----IP={},杩炴帴鎴愬姛",host);
                 } else {
-                    log.info("-----IP={},杩炴帴澶辫触锛岃嚜鍔ㄥ叧闂嚎绋�");
+                    log.info("-----IP={},杩炴帴澶辫触锛岃嚜鍔ㄥ叧闂嚎绋�",host);
                     channelFuture.cause().printStackTrace();
                     group.shutdownGracefully(); // 鍏抽棴绾跨▼缁�
                 }
@@ -98,6 +103,7 @@
             return InvokeResult.SOCKET_NOT_CREATE;
         }
         if (!defaultChannel.isActive()) {
+            defaultChannel = null;
             return InvokeResult.CHANNEL_CLOSED;
         }
 
@@ -107,11 +113,11 @@
     }
 
 
-    public Channel getChannel() {
+    public static Channel getChannel() {
         return defaultChannel;
     }
 
-    public static void add2ChannelMap(String key, Channel channel) {
+    public  void add2ChannelMap(String key, Channel channel) {
         clientChannelMap.put(key, channel);
     }
 
@@ -128,6 +134,7 @@
             return channel;
         } else {
             channel.close();
+            defaultChannel = null;
         }
         return null;
     }
@@ -137,6 +144,7 @@
             return InvokeResult.SOCKET_NOT_CREATE;
         }
         if (!channel.isActive()) {
+            defaultChannel = null;
             return InvokeResult.CHANNEL_CLOSED;
         }
         channel.writeAndFlush(Unpooled.copiedBuffer(BytesUtil.hexStrToBytes(hex))).sync();

--
Gitblit v1.9.3