From edda44f186e4d37f3ea521a531c38b3f0a43e5a9 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Wed, 22 Oct 2025 17:05:23 +0800
Subject: [PATCH] 优化tcp心跳消息发送和回复
---
ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java | 6 +++---
ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java | 2 +-
2 files changed, 4 insertions(+), 4 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 9514f09..0faafc7 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
@@ -49,7 +49,7 @@
@Override
protected void initChannel(SocketChannel socketChannel) {
ChannelPipeline pipeline = socketChannel.pipeline();
- pipeline.addLast("heart", new IdleStateHandler(0, 3, 0, TimeUnit.SECONDS));
+ pipeline.addLast("heart", new IdleStateHandler(0, 5, 0, TimeUnit.SECONDS));
pipeline.addLast("encoder", new MessageProtocolEncoder());
pipeline.addLast("decoder", new MessageProtocolDecoder());
pipeline.addLast("handler", clientHandler);
@@ -143,9 +143,9 @@
}
/**
- * 定时向所有已连接的边缘服务器服务器发送心跳
+ * 定时向所有已连接的边缘服务器服务器发送心跳(写空闲已经发心跳了,这里暂时取消)
*/
- @Scheduled(fixedRate = 5000) // 每5秒执行一次
+ // @Scheduled(fixedRate = 5000) // 每5秒执行一次
public void sendHeartBeat() {
long timestamp = System.currentTimeMillis();
TyTcpServerCache.getChannels().stream()
diff --git a/ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java b/ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java
index 55da307..278a558 100644
--- a/ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java
+++ b/ard-work/src/main/java/com/ard/work/component/netty/handler/ClientHandler.java
@@ -68,7 +68,7 @@
// 写空闲时主动发心跳
HeartbeatCmd heartbeat = new HeartbeatCmd(timestamp);
ctx.writeAndFlush(heartbeat);
- log.debug("写空闲 -> 发送心跳包 时间戳={}", timestamp);
+ log.info("写空闲 -> 发送心跳包 时间戳={}", timestamp);
break;
case ALL_IDLE:
log.info("读写都空闲 - 可考虑关闭连接或重连");
--
Gitblit v1.9.3