From 2b6156951c18ea9ff60ed5578db633cebbe99fa7 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 25 九月 2025 10:46:16 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/NyShuttleThread.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 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 946eb0c..9f54ac8 100644
--- a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -15,6 +15,7 @@
 import com.zy.core.enums.SlaveType;
 import com.zy.core.thread.ShuttleThread;
 import com.zy.core.utils.FakeDeviceUtils;
+import com.zy.core.utils.TimeoutExecutor;
 import lombok.extern.slf4j.Slf4j;
 
 import java.io.*;
@@ -24,6 +25,7 @@
 import java.net.SocketTimeoutException;
 import java.text.MessageFormat;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 @Slf4j
 @SuppressWarnings("all")
@@ -54,8 +56,13 @@
 
                 try {
                     this.connect();
+                    // 鍦ㄥ惊鐜腑浣跨敤
+                    boolean result = TimeoutExecutor.executeWithTimeout(
+                            () -> this.listenSocketMessage(),
+                            30,  // 30绉掕秴鏃�
+                            TimeUnit.SECONDS
+                    );
                     Thread.sleep(200);
-                    listenSocketMessage();
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
@@ -131,11 +138,11 @@
         }
     }
 
-    private void listenSocketMessage() {
+    private boolean listenSocketMessage() {
         StringBuffer sb = new StringBuffer();
         try {
             if (this.socket == null) {
-                return;
+                return false;
             }
 
             DeviceMsgUtils deviceMsgUtils = null;
@@ -144,7 +151,7 @@
             } catch (Exception e) {
             }
             if (deviceMsgUtils == null) {
-                return;
+                return false;
             }
 
             // 鑾峰彇杈撳叆娴�
@@ -168,7 +175,7 @@
             }catch (Exception e){}
 
             if(result == null) {
-                return;
+                return false;
             }
 
             JSONObject header = null;
@@ -225,11 +232,13 @@
                 }
             }
         } catch (SocketTimeoutException e) {
-
+            return false;
         } catch (IOException e) {
             e.printStackTrace();
             closeSocket();
+            return false;
         }
+        return true;
     }
 
     public JSONObject parseSocketResult(JSONObject data) {

--
Gitblit v1.9.1