diff --git a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/CmdChannelHandler.java b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/CmdChannelHandler.java index 68db2a0e..c1cb7c27 100644 --- a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/CmdChannelHandler.java +++ b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/CmdChannelHandler.java @@ -13,6 +13,8 @@ import io.netty.handler.timeout.IdleStateEvent; import lombok.extern.slf4j.Slf4j; import org.noear.solon.Solon; +import java.net.SocketException; + /** * 处理与服务端之间的数据传输 * @author: aoshiguchen @@ -58,8 +60,11 @@ public class CmdChannelHandler extends SimpleChannelInboundHandler @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { + if (cause instanceof SocketException && cause.getMessage().contains("Connection reset")) { + ctx.channel().close(); + return; + } log.error("[CMD Channel]Client CmdChannel Error channelId:{}", ctx.channel().id().asLongText(), cause); - ctx.close(); } @Override diff --git a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/RealServerChannelHandler.java b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/RealServerChannelHandler.java index 6fd68c31..ba5ee077 100644 --- a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/RealServerChannelHandler.java +++ b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/core/RealServerChannelHandler.java @@ -10,6 +10,8 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelOption; import io.netty.channel.SimpleChannelInboundHandler; +import java.net.SocketException; + /** * 处理与被代理客户端的数据传输 * @author: aoshiguchen @@ -76,6 +78,10 @@ public class RealServerChannelHandler extends SimpleChannelInboundHandler