From 56062b177a71cf781f8e480c0ec6f5e8394e7a8e Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Thu, 16 Oct 2025 14:51:29 +0800
Subject: [PATCH] 1.修改服务器状态接口优化。 2.无人机盒子对象增加盒子别名字段。 3.动态修改服务状态。
---
ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java b/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
index 3a1ec4b..a52c955 100644
--- a/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
+++ b/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
@@ -63,7 +63,9 @@
return bootstrap;
}
- /** 新增或重连服务器 */
+ /**
+ * 新增或重连服务器
+ */
public void connectServer(ArdServerInfo serverInfo) {
String serverId = serverInfo.getId();
String host = serverInfo.getHost();
@@ -79,9 +81,13 @@
Channel channel = f.channel();
channel.attr(AttributeKey.valueOf("serverId")).set(serverId);
TyTcpServerCache.putTcpServerCache(serverId, true);
+ // 断开服务器,修改状态为: 0 - 在线
+ ardServerService.updateServerStatus(serverId, "1");
} else {
log.warn("❌ 服务器 [{}] 连接失败", serverId);
TyTcpServerCache.putTcpServerCache(serverId, false);
+ // 断开服务器,修改状态为: 0 - 离线
+ ardServerService.updateServerStatus(serverId, "0");
}
});
@@ -97,12 +103,16 @@
channels.put(serverId, session);
}
- /** 断开服务器连接 */
+ /**
+ * 断开服务器连接
+ */
public void disconnectServer(String serverId) {
TcpClientSession session = channels.remove(serverId);
if (session != null && session.getChannelFuture() != null) {
session.getChannelFuture().channel().close();
log.info("断开服务器 [{}] 连接", serverId);
+ // 断开服务器,修改状态为: 0 - 离线
+ ardServerService.updateServerStatus(serverId, "0");
}
TyTcpServerCache.removeTcpServerCache(serverId);
}
@@ -140,7 +150,7 @@
@PostConstruct
public void initConnectServers() {
try {
- var serverList = ardServerService.selectArdServerManagementList(new ArdServerInfo()); // ← 从数据库查询所有服务器配置
+ var serverList = ardServerService.selectArdServerInfoList(new ArdServerInfo()); // ← 从数据库查询所有服务器配置
if (serverList == null || serverList.isEmpty()) {
log.warn("未在数据库中找到边缘服务器配置,跳过连接初始化");
return;
@@ -160,7 +170,7 @@
public void reconnectFailedServers() {
TyTcpServerCache.getTcpServerCacheMap().forEach((key, state) -> {
if (Boolean.FALSE.equals(state)) { // 连接失败的服务器
- ArdServerInfo serverInfo = ardServerService.selectArdServerManagementById(key);
+ ArdServerInfo serverInfo = ardServerService.selectArdServerInfoById(key);
if (serverInfo != null) {
connectServer(serverInfo);
}
@@ -188,5 +198,4 @@
session.getServerId(), session.getHost(), session.getPort(), timestamp);
});
}
-
}
--
Gitblit v1.9.3