From f46ae98867ddf224fe299b981d38708290697d86 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Wed, 5 Apr 2023 23:34:59 +0800 Subject: [PATCH] =?UTF-8?q?http=E4=BB=A3=E7=90=86=E4=BC=98=E5=8C=96.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/ProxyMessageDisconnectHandler.java | 14 ++++++++++---- .../proxy/handler/ProxyMessageTransferHandler.java | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageDisconnectHandler.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageDisconnectHandler.java index 636ef5c5..0628f95d 100644 --- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageDisconnectHandler.java +++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageDisconnectHandler.java @@ -1,5 +1,6 @@ package org.dromara.neutrinoproxy.server.proxy.handler; +import org.checkerframework.checker.units.qual.C; import org.dromara.neutrinoproxy.core.Constants; import org.dromara.neutrinoproxy.core.ProxyDataTypeEnum; import org.dromara.neutrinoproxy.core.ProxyMessage; @@ -29,12 +30,17 @@ public class ProxyMessageDisconnectHandler implements ProxyMessageHandler { return; } // 代理连接没有连上服务器由控制连接发送用户端断开连接消息 - String visitorId = proxyMessage.getInfo(); - Channel userChannel = ProxyUtil.removeVisitorChannelFromCmdChannel(ctx.channel(), visitorId); - if (null != userChannel) { + Channel visitorChannel = ctx.channel().attr(Constants.NEXT_CHANNEL).get(); + if (null != visitorChannel) { // 数据发送完成后再关闭连接,解决http1.0数据传输问题 - userChannel.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE); + visitorChannel.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE); } +// String visitorId = proxyMessage.getInfo(); +// Channel visitorChannel = ProxyUtil.removeVisitorChannelFromCmdChannel(ctx.channel(), visitorId); +// if (null != visitorChannel) { +// // 数据发送完成后再关闭连接,解决http1.0数据传输问题 +// visitorChannel.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE); +// } } @Override diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageTransferHandler.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageTransferHandler.java index 5049e562..af39b9f8 100644 --- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageTransferHandler.java +++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageTransferHandler.java @@ -32,7 +32,7 @@ public class ProxyMessageTransferHandler implements ProxyMessageHandler { visitorChannel.writeAndFlush(buf); // 关闭http响应通道 - ProxyUtil.closeHttpProxyResponseChannel(visitorChannel); +// ProxyUtil.closeHttpProxyResponseChannel(visitorChannel); // 增加流量计数 VisitorChannelAttachInfo visitorChannelAttachInfo = ProxyUtil.getAttachInfo(visitorChannel);