From a1ead9b025db1e26240b8be422c1f018525b9bcb Mon Sep 17 00:00:00 2001 From: zhansheng <1213034643@qq.com> Date: Wed, 7 Jul 2021 08:44:25 +0000 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BF=83=E8=B7=B3=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=EF=BC=8C=E9=98=B2=E6=AD=A2=E8=AE=BE=E5=A4=87=E5=B9=B2?= =?UTF-8?q?=E5=9D=8F=E4=BA=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/hentai/jtt1078/server/Jtt1078Handler.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/cn/org/hentai/jtt1078/server/Jtt1078Handler.java b/src/main/java/cn/org/hentai/jtt1078/server/Jtt1078Handler.java index 59dc1e6..926e658 100644 --- a/src/main/java/cn/org/hentai/jtt1078/server/Jtt1078Handler.java +++ b/src/main/java/cn/org/hentai/jtt1078/server/Jtt1078Handler.java @@ -12,8 +12,9 @@ import io.netty.util.AttributeKey; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import java.util.Iterator; +import io.netty.handler.timeout.IdleState; +import io.netty.handler.timeout.IdleStateEvent; /** * Created by matrixy on 2019/4/9. @@ -88,6 +89,18 @@ public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws E ctx.close(); } + @Override + public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception { + if (IdleStateEvent.class.isAssignableFrom(evt.getClass())) { + IdleStateEvent event = (IdleStateEvent) evt; + if (event.state() == IdleState.READER_IDLE) { + String tag = SessionManager.get(ctx.channel(), "tag"); + logger.info("read timeout: {}",tag); + release(ctx.channel()); + } + } + } + private void release(io.netty.channel.Channel channel) { String tag = SessionManager.get(channel, "tag");