From d09cdef116634a34dc8e63e85a489226ccb636d2 Mon Sep 17 00:00:00 2001 From: jaysunxiao Date: Fri, 25 Jun 2021 14:48:25 +0800 Subject: [PATCH] =?UTF-8?q?fix[net]:=20=E6=9C=89=E4=BA=9B=E6=83=85?= =?UTF-8?q?=E5=86=B5=E5=BD=93=E5=BB=BA=E7=AB=8B=E8=BF=9E=E6=8E=A5=E8=BF=87?= =?UTF-8?q?=E5=90=8E=E8=BF=85=E9=80=9F=E5=85=B3=E9=97=AD=EF=BC=8C=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E6=97=B6=E5=80=99=E5=8F=96remoteAddress=E4=BC=9A?= =?UTF-8?q?=E6=9C=89=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zfoo/net/handler/BaseDispatcherHandler.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/net/src/main/java/com/zfoo/net/handler/BaseDispatcherHandler.java b/net/src/main/java/com/zfoo/net/handler/BaseDispatcherHandler.java index fac559d4..bc023ffe 100644 --- a/net/src/main/java/com/zfoo/net/handler/BaseDispatcherHandler.java +++ b/net/src/main/java/com/zfoo/net/handler/BaseDispatcherHandler.java @@ -47,7 +47,14 @@ public class BaseDispatcherHandler extends ChannelInboundHandlerAdapter { throw new RuntimeException(StringUtils.format("无法设置[channel:{}]的session", channel)); } - session.putAttribute(AttributeType.CHANNEL_REMOTE_ADDRESS, StringUtils.substringAfterFirst(channel.remoteAddress().toString(), StringUtils.SLASH)); + try { + session.putAttribute(AttributeType.CHANNEL_REMOTE_ADDRESS, StringUtils.substringAfterFirst(channel.remoteAddress().toString(), StringUtils.SLASH)); + } catch (Throwable t) { + // do nothing + // to avoid: io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer + // 有些情况当建立连接过后迅速关闭,这个时候取remoteAddress会有异常 + } + return session; }