From 23e52ca90ce8c0fb669d43b0abf3ae7a5ed0e6ae Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Mon, 6 Nov 2023 14:22:58 +0800 Subject: [PATCH] =?UTF-8?q?update=E5=BC=82=E5=B8=B8=E5=90=8E=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/ykc/PileChannelEntity.java | 6 ++++++ .../server/yunkuaichong/NettyServerHandler.java | 17 +++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java index 02e5d8ea4..65ef392ad 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java @@ -59,10 +59,16 @@ public class PileChannelEntity { } public static void removeByPileSn(String pileSn){ + if (StringUtils.isBlank(pileSn)) { + return; + } manager.remove(pileSn); } public static void removeByChannelId(String channelId){ + if (StringUtils.isBlank(channelId)) { + return; + } String pileSn = getPileSnByChannelId(channelId); if (StringUtils.isNotBlank(pileSn)) { manager.remove(pileSn); diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java index d98fa610f..c5db0236c 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java @@ -3,6 +3,7 @@ package com.jsowell.netty.server.yunkuaichong; import com.google.common.collect.Lists; import com.jsowell.common.enums.ykc.PileChannelEntity; import com.jsowell.common.util.BytesUtil; +import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.YKCUtils; import com.jsowell.netty.service.yunkuaichong.YKCBusinessService; import io.netty.buffer.ByteBuf; @@ -178,10 +179,8 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter { log.error("Client-IP:【{}】, channelId:【{}】, pileSn:【{}】, ALL_IDLE 总超时", socketString, channelId, pileSn); } if (flag) { - log.error("发生异常,关闭链接,channelId:{}, pileSn:{}", channelId.asShortText(), pileSn); ctx.channel().close(); - - close(channelId); + close(channelId, pileSn); } } } @@ -203,15 +202,17 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter { } log.error("【{}】发生了错误, pileSn:【{}】此连接被关闭, 此时连通数量: {}", channelId, pileSn, CHANNEL_MAP.size()); ctx.channel().close(); - - close(channelId); } + close(channelId, pileSn); } - private void close(ChannelId channelId) { - // 删除桩编号和channel的关系 - PileChannelEntity.removeByChannelId(channelId.asLongText()); + private void close(ChannelId channelId, String pileSn) { + log.error("close方法-发生异常,关闭链接,channelId:{}, pileSn:{}", channelId.asShortText(), pileSn); + // 删除桩编号和channel的关系 + if (StringUtils.isNotBlank(pileSn)) { + PileChannelEntity.removeByPileSn(pileSn); + } // 删除连接 CHANNEL_MAP.remove(channelId); }