From 24681c81c09022f584a57006f2534b5f74723414 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 30 六月 2026 09:27:31 +0800
Subject: [PATCH] 初始化项目

---
 yudao-module-iot/yudao-module-iot-gateway/src/main/java/cn/iocoder/yudao/module/iot/gateway/protocol/modbus/tcpserver/manager/IotModbusTcpServerConnectionManager.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/yudao-module-iot/yudao-module-iot-gateway/src/main/java/cn/iocoder/yudao/module/iot/gateway/protocol/modbus/tcpserver/manager/IotModbusTcpServerConnectionManager.java b/yudao-module-iot/yudao-module-iot-gateway/src/main/java/cn/iocoder/yudao/module/iot/gateway/protocol/modbus/tcpserver/manager/IotModbusTcpServerConnectionManager.java
index 781d8ac..4c01f6a 100644
--- a/yudao-module-iot/yudao-module-iot-gateway/src/main/java/cn/iocoder/yudao/module/iot/gateway/protocol/modbus/tcpserver/manager/IotModbusTcpServerConnectionManager.java
+++ b/yudao-module-iot/yudao-module-iot-gateway/src/main/java/cn/iocoder/yudao/module/iot/gateway/protocol/modbus/tcpserver/manager/IotModbusTcpServerConnectionManager.java
@@ -9,6 +9,7 @@
 import lombok.extern.slf4j.Slf4j;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -109,7 +110,7 @@
      * 鑾峰彇鎵�鏈夊凡杩炴帴璁惧鐨� ID 闆嗗悎
      */
     public Set<Long> getConnectedDeviceIds() {
-        return deviceSocketMap.keySet();
+        return new HashSet<>(deviceSocketMap.keySet());
     }
 
     /**
@@ -131,6 +132,24 @@
     }
 
     /**
+     * 鍏抽棴鎸囧畾璁惧杩炴帴锛屽苟鍏堢Щ闄ゆ槧灏勶紝閬垮厤 closeHandler 鍐嶆寜姝e父鏂繛鍙戦�佷笅绾挎秷鎭�
+     */
+    public void closeConnection(Long deviceId) {
+        NetSocket socket = deviceSocketMap.remove(deviceId);
+        if (socket == null) {
+            return;
+        }
+        connectionMap.remove(socket);
+        try {
+            socket.close();
+            log.info("[closeConnection][璁惧 {} 杩炴帴宸插叧闂璢", deviceId);
+        } catch (Exception e) {
+            log.warn("[closeConnection][鍏抽棴璁惧杩炴帴澶辫触, deviceId={}, remoteAddress={}]",
+                    deviceId, socket.remoteAddress(), e);
+        }
+    }
+
+    /**
      * 鍙戦�佹暟鎹埌璁惧
      *
      * @return 鍙戦�佺粨鏋� Future

--
Gitblit v1.9.3