From bcdf41a43daff31d342e6cd2a39fbd28bb00b61b Mon Sep 17 00:00:00 2001
From: zy <zy@123>
Date: 星期一, 21 七月 2025 09:52:55 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/NyShuttleThread.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
index 2f17b9d..ccaffca 100644
--- a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -21,6 +21,7 @@
 import java.net.InetAddress;
 import java.net.Socket;
 import java.net.SocketException;
+import java.net.SocketTimeoutException;
 import java.text.MessageFormat;
 import java.util.*;
 
@@ -33,6 +34,7 @@
     private Socket socket;
     private boolean stopThread = false;
     private HashMap<Integer, String> resultKeyMap = new HashMap<Integer, String>();
+    private long lastConnectTime = System.currentTimeMillis();
 
     public NyShuttleThread(DeviceConfig deviceConfig, RedisUtil redisUtil) {
         this.deviceConfig = deviceConfig;
@@ -210,8 +212,10 @@
                     deviceMsgUtils.sendDeviceMsg(SlaveType.Shuttle, deviceConfig.getDeviceNo(), deviceMsgModel);
                 }
             }
-        } catch (Exception e) {
-//            e.printStackTrace();
+        } catch (SocketTimeoutException e) {
+
+        } catch (IOException e) {
+            e.printStackTrace();
             closeSocket();
         }
     }
@@ -272,6 +276,10 @@
                 return true;
             }
 
+            if(System.currentTimeMillis() - lastConnectTime < 1000 * 10) {
+                return false;
+            }
+
             if(this.deviceConfig.getFake()) {
                 return fakeConnect();
             }else {
@@ -281,6 +289,7 @@
                     deviceSocket.setSoTimeout(10000);
                     deviceSocket.setKeepAlive(true);
                     this.socket = deviceSocket;
+                    this.lastConnectTime = System.currentTimeMillis();
                     log.info(MessageFormat.format("銆恵0}銆戝洓鍚戠┛姊溅Socket閾炬帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), deviceConfig.getDeviceNo(), deviceConfig.getIp(), deviceConfig.getPort()));
                 }
             }

--
Gitblit v1.9.1