From 4ad32c37e3317fb6cb7cbfb034b53d3220c27db4 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 30 五月 2025 17:59:16 +0800 Subject: [PATCH] 优化报警 --- ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java | 30 ++++++++++++++++++++++++------ 1 files changed, 24 insertions(+), 6 deletions(-) diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java index 68b502f..4f0e6f6 100644 --- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java +++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java @@ -6,7 +6,10 @@ import com.ruoyi.dataInterchange.util.jtt809.packet.common.OuterPacket; import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; + +import javax.annotation.Resource; /** @@ -17,18 +20,33 @@ @Component public class UPLinkTestReqService { + @Resource + private RedisTemplate redisTemplate; + + @Resource + private DOWNConnectRspService downConnectRspService; + /** - * 住链路连接保持 + * 主链路连接保持 + * * @param ctx * @param out */ - public void linkTest(ChannelHandlerContext ctx, OuterPacket out){ + public void linkTest(ChannelHandlerContext ctx, OuterPacket out) { + if (!redisTemplate.hasKey("login:" + out.getGnsscenterId())) { + log.error("链路还未登录校验,拒绝连接:{}", out.getGnsscenterId()); + ctx.close(); + return; + } int gnsscenterId = out.getGnsscenterId(); - ChannelMap.addServerChannel(gnsscenterId, ctx.channel().id()); - OuterPacket rep = new OuterPacket(DataType.UP_LINKTEST_RSP.getCode(), null); - log.info("住链路连接保持应答({}):{}", DataType.UP_LINKTEST_RSP.getCode(), JSON.toJSONString(rep)); + //保存链路 + ChannelMap.addServerChannel(gnsscenterId, ctx.channel()); + OuterPacket rep = new OuterPacket(DataType.UP_LINKTEST_RSP.getCode(), gnsscenterId, null); + rep.setGnsscenterId(gnsscenterId); + log.info("主链路连接保持应答({}):{}", DataType.UP_LINKTEST_RSP.getCode(), JSON.toJSONString(rep)); ctx.writeAndFlush(rep); - ctx.flush(); + //从链路保持请求 + downConnectRspService.downLinkTest(gnsscenterId); } } -- Gitblit v1.7.1