From 1a2b5b8c29417f47c0ce9a30d098e6dc7d7a8b39 Mon Sep 17 00:00:00 2001 From: wujiawei <1207537021@qq.com> Date: Sun, 22 Sep 2024 19:22:25 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=E3=80=91=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=B8=97=E9=80=8F=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/HeartbeatClientConfiguration.java | 6 +++ ...rmeateClientTransferCloseTypeAdvanced.java | 42 +++++++++++++++++ ...ientTransferClientRequestTypeAdvanced.java | 2 +- ...entTransferClientResponseTypeAdvanced.java | 2 +- .../NettyClientPermeateClientRealHandler.java | 26 +++++------ ...tyClientPermeateClientTransferHandler.java | 27 +++++------ ...ientPermeateClientTransferRealHandler.java | 19 ++++---- ...ttyClientPermeateClientVisitorHandler.java | 38 ++-------------- .../NettyClientPermeateClientRealSocket.java | 2 +- .../network/heartbeat/common/MessageType.java | 45 +++++++++++++------ ...rmeateClientTransferCloseTypeAdvanced.java | 28 ++++++++++++ ...eateChannelInitSuccessfulTypeAdvanced.java | 2 +- ...ientTransferClientRequestTypeAdvanced.java | 4 +- ...entTransferClientResponseTypeAdvanced.java | 4 +- ...rmeateClientTransferCloseTypeAdvanced.java | 27 +++++++++++ ...eateChannelInitSuccessfulTypeAdvanced.java | 2 +- ...eportClientTransferClientTypeAdvanced.java | 2 +- .../common/enums/MessageTypeEnums.java | 27 ++++++++--- ...rmeateClientTransferCloseTypeAdvanced.java | 41 +++++++++++++++++ ...eateChannelInitSuccessfulTypeAdvanced.java | 4 +- ...entTransferClientResponseTypeAdvanced.java | 3 +- ...eportClientTransferClientTypeAdvanced.java | 2 +- 22 files changed, 243 insertions(+), 112 deletions(-) create mode 100644 wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientPermeateClientTransferCloseTypeAdvanced.java create mode 100644 wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientPermeateClientTransferCloseTypeAdvanced.java create mode 100644 wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientPermeateClientTransferCloseTypeAdvanced.java create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientPermeateClientTransferCloseTypeAdvanced.java diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/config/HeartbeatClientConfiguration.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/config/HeartbeatClientConfiguration.java index c9583ca..780da3c 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/config/HeartbeatClientConfiguration.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/config/HeartbeatClientConfiguration.java @@ -146,6 +146,12 @@ public class HeartbeatClientConfiguration { return new ClientHandleDistributeClientPermeateClientInitTypeAdvanced(); } + @Bean + public ClientHandleDistributeClientPermeateClientTransferCloseTypeAdvanced clientHandleDistributeClientPermeateClientTransferCloseTypeAdvanced() { + return new ClientHandleDistributeClientPermeateClientTransferCloseTypeAdvanced(); + } + + @Bean public ClientHandleDistributeSingleClientRealConnectTypeAdvanced clientHandleDistributeSingleClientRealConnectTypeAdvanced(NettyClientProperties nettyClientProperties, List handleChannelTypeAdvancedList) { diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientPermeateClientTransferCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientPermeateClientTransferCloseTypeAdvanced.java new file mode 100644 index 0000000..9278dab --- /dev/null +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientPermeateClientTransferCloseTypeAdvanced.java @@ -0,0 +1,42 @@ +package org.framework.lazy.cloud.network.heartbeat.client.netty.advanced; + + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; +import org.framework.lazy.cloud.network.heartbeat.client.netty.socket.NettyClientPermeateClientVisitorSocket; +import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.client.AbstractHandleDistributeClientPermeateClientTransferCloseTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.enums.MessageTypeEnums; +import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.wu.framework.spring.utils.SpringContextHolder; + +import java.util.ArrayList; +import java.util.List; + + +/** + * 下发客户端渗透客户端通信通道关闭 + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE + */ +@Slf4j +public class ClientHandleDistributeClientPermeateClientTransferCloseTypeAdvanced extends AbstractHandleDistributeClientPermeateClientTransferCloseTypeAdvanced { + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + // 关闭客户端真实通道、访客通道 + Channel realChannel = ChannelAttributeKeyUtils.getNextChannel(channel); + realChannel.close();// 真实通道关闭 + channel.close(); // 数据传输通道关闭 + + } + +} diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientTransferClientRequestTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientTransferClientRequestTypeAdvanced.java index 8cb53bb..db49f09 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientTransferClientRequestTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientTransferClientRequestTypeAdvanced.java @@ -14,7 +14,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeK * 下发客户端渗透客户端数据传输 * * - * @see MessageTypeEnums#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_REQUEST + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST */ @Slf4j public class ClientHandleDistributeClientTransferClientRequestTypeAdvanced extends AbstractHandleDistributeClientTransferClientRequestTypeAdvanced { diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientTransferClientResponseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientTransferClientResponseTypeAdvanced.java index 0660ff0..7f2aa5d 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientTransferClientResponseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/advanced/ClientHandleDistributeClientTransferClientResponseTypeAdvanced.java @@ -14,7 +14,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeK * 下发客户端渗透客户端数据传输响应 * * - * @see MessageTypeEnums#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_RESPONSE + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_RESPONSE */ @Slf4j public class ClientHandleDistributeClientTransferClientResponseTypeAdvanced extends AbstractHandleDistributeClientTransferClientResponseTypeAdvanced { diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientRealHandler.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientRealHandler.java index 5ce7a57..6b98a87 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientRealHandler.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientRealHandler.java @@ -30,7 +30,6 @@ public class NettyClientPermeateClientRealHandler extends SimpleChannelInboundHa Integer visitorPort = ChannelAttributeKeyUtils.getVisitorPort(ctx.channel()); String clientId = ChannelAttributeKeyUtils.getClientId(ctx.channel()); // 访客通信通道 上报服务端代理完成 - Channel visitorChannel = NettyCommunicationIdContext.getVisitor(visitorId); Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(ctx.channel()); NettyProxyMsg returnMessage = new NettyProxyMsg(); returnMessage.setType(MessageType.REPORT_CLIENT_TRANSFER_CLIENT_RESPONSE); @@ -50,16 +49,15 @@ public class NettyClientPermeateClientRealHandler extends SimpleChannelInboundHa @Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { - String clientId = ChannelAttributeKeyUtils.getClientId(ctx.channel()); String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); // 客户端真实通信通道 - Channel visitor = NettyCommunicationIdContext.getVisitor(visitorId); - if (visitor != null) { + Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(ctx.channel()); + if (nextChannel != null) { // 上报关闭这个客户端的访客通道 NettyProxyMsg closeVisitorMsg = new NettyProxyMsg(); - closeVisitorMsg.setType(MessageType.REPORT_SINGLE_CLIENT_CLOSE_VISITOR); + closeVisitorMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE); closeVisitorMsg.setVisitorId(visitorId); - visitor.writeAndFlush(closeVisitorMsg); + nextChannel.writeAndFlush(closeVisitorMsg); } super.channelInactive(ctx); @@ -68,16 +66,14 @@ public class NettyClientPermeateClientRealHandler extends SimpleChannelInboundHa @Override public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { // 获取访客的传输通道 - String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); - if(ObjectUtils.isEmpty(visitorId)) { - super.channelWritabilityChanged(ctx); - return; - } - Channel visitorCommunicationChannel = NettyCommunicationIdContext.getVisitor(visitorId); - if (visitorCommunicationChannel != null) { - log.debug("visitorId:{} transfer AUTO_READ:{} ",visitorId,ctx.channel().isWritable()); - visitorCommunicationChannel.config().setOption(ChannelOption.AUTO_READ, ctx.channel().isWritable()); + if (ctx.channel().isWritable()) { + log.debug("Channel is writable again"); + // 恢复之前暂停的操作,如写入数据 + } else { + log.debug("Channel is not writable"); + // 暂停写入操作,等待可写状态 } + log.info("channelWritabilityChanged!"); } diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientTransferHandler.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientTransferHandler.java index 6eae863..6c27cb8 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientTransferHandler.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientTransferHandler.java @@ -43,14 +43,13 @@ public class NettyClientPermeateClientTransferHandler extends SimpleChannelInbou String clientId = ChannelAttributeKeyUtils.getClientId(ctx.channel()); String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); // 关闭访客 - ChannelContext.ClientChannel clientChannel = ChannelContext.get(clientId); - if (clientChannel != null) { - Channel channel = clientChannel.getChannel(); + Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(ctx.channel()); + if (nextChannel != null) { // 上报关闭这个客户端的访客通道 NettyProxyMsg closeVisitorMsg = new NettyProxyMsg(); - closeVisitorMsg.setType(MessageType.REPORT_SINGLE_CLIENT_CLOSE_VISITOR); + closeVisitorMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE); closeVisitorMsg.setVisitorId(visitorId); - channel.writeAndFlush(closeVisitorMsg); + nextChannel.writeAndFlush(closeVisitorMsg); } super.channelInactive(ctx); @@ -58,18 +57,14 @@ public class NettyClientPermeateClientTransferHandler extends SimpleChannelInbou @Override public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { - // 处理客户端本地真实通道问题 - String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); - if(ObjectUtils.isEmpty(visitorId)) { - super.channelWritabilityChanged(ctx); - return; - } - - Channel realChannel = NettyRealIdContext.getReal(visitorId); - if (realChannel != null) { - log.debug("visitorId:{} transfer AUTO_READ:{} ",visitorId,ctx.channel().isWritable()); - realChannel.config().setOption(ChannelOption.AUTO_READ, ctx.channel().isWritable()); + if (ctx.channel().isWritable()) { + log.debug("Channel is writable again"); + // 恢复之前暂停的操作,如写入数据 + } else { + log.debug("Channel is not writable"); + // 暂停写入操作,等待可写状态 } + log.info("channelWritabilityChanged!"); } @Override diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientTransferRealHandler.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientTransferRealHandler.java index 3226709..3bb47b7 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientTransferRealHandler.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientTransferRealHandler.java @@ -47,7 +47,7 @@ public class NettyClientPermeateClientTransferRealHandler extends SimpleChannelI // 上报关闭这个客户端的访客通道 NettyProxyMsg closeVisitorMsg = new NettyProxyMsg(); - closeVisitorMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_CLOSE); + closeVisitorMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE); closeVisitorMsg.setVisitorId(visitorId); nextChannel.writeAndFlush(closeVisitorMsg); } @@ -58,17 +58,14 @@ public class NettyClientPermeateClientTransferRealHandler extends SimpleChannelI @Override public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { // 处理客户端本地真实通道问题 - String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); - if(ObjectUtils.isEmpty(visitorId)) { - super.channelWritabilityChanged(ctx); - return; - } - - Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(ctx.channel()); - if (nextChannel != null) { - log.debug("visitorId:{} transfer AUTO_READ:{} ",visitorId,ctx.channel().isWritable()); - nextChannel.config().setOption(ChannelOption.AUTO_READ, ctx.channel().isWritable()); + if (ctx.channel().isWritable()) { + log.debug("Channel is writable again"); + // 恢复之前暂停的操作,如写入数据 + } else { + log.debug("Channel is not writable"); + // 暂停写入操作,等待可写状态 } + log.info("channelWritabilityChanged!"); } @Override diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientVisitorHandler.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientVisitorHandler.java index 38fdfb1..6ffa8f6 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientVisitorHandler.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientPermeateClientVisitorHandler.java @@ -17,7 +17,6 @@ import org.framework.lazy.cloud.network.heartbeat.common.NettyCommunicationIdCon import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; -import org.wu.framework.core.utils.ObjectUtils; import java.util.UUID; @@ -77,7 +76,7 @@ public class NettyClientPermeateClientVisitorHandler extends SimpleChannelInboun Integer visitorPort = internalNetworkClientPermeateClientVisitor.getVisitorPort(); String clientId = internalNetworkClientPermeateClientVisitor.getNettyClientProperties().getClientId(); NettyProxyMsg nettyProxyMsg = new NettyProxyMsg(); - nettyProxyMsg.setType(MessageType.REPORT_CLIENT_TRANSFER_CLIENT_REQUEST); + nettyProxyMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST); nettyProxyMsg.setVisitorId(visitorId); nettyProxyMsg.setClientId(clientId); nettyProxyMsg.setVisitorPort(visitorPort); @@ -100,11 +99,11 @@ public class NettyClientPermeateClientVisitorHandler extends SimpleChannelInboun if (nextChannel != null && nextChannel.isActive()) { - nextChannel.config().setOption(ChannelOption.AUTO_READ, true); +// nextChannel.config().setOption(ChannelOption.AUTO_READ, true); // 通知客户端 关闭访问通道、真实通道 NettyProxyMsg myMsg = new NettyProxyMsg(); - myMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_CLOSE); + myMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE); nextChannel.writeAndFlush(myMsg); } // 关闭 访客通信通道、访客真实通道 @@ -117,18 +116,6 @@ public class NettyClientPermeateClientVisitorHandler extends SimpleChannelInboun @Override public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { - // 获取访客的传输通道 - String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); - if(ObjectUtils.isEmpty(visitorId)) { - super.channelWritabilityChanged(ctx); - return; - } - - Channel visitorCommunicationChannel = NettyCommunicationIdContext.getVisitor(visitorId); - if (visitorCommunicationChannel != null) { - log.debug("visitorId:{} transfer AUTO_READ:{} ",visitorId,ctx.channel().isWritable()); - visitorCommunicationChannel.config().setOption(ChannelOption.AUTO_READ, ctx.channel().isWritable()); - } if (ctx.channel().isWritable()) { log.debug("Channel is writable again"); // 恢复之前暂停的操作,如写入数据 @@ -136,28 +123,11 @@ public class NettyClientPermeateClientVisitorHandler extends SimpleChannelInboun log.debug("Channel is not writable"); // 暂停写入操作,等待可写状态 } - log.info("visitorId:{} channelWritabilityChanged!",visitorId); + log.info("channelWritabilityChanged!"); } @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { log.error("exceptionCaught"); - - Channel channel = ctx.channel(); - String clientId = ChannelAttributeKeyUtils.getClientId(channel); - String visitorId = ChannelAttributeKeyUtils.getVisitorId(channel); - // 使用通信通道 下发关闭访客 - Channel visitorChannel = NettyCommunicationIdContext.getVisitor(visitorId); - Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(ctx.channel()); - if (nextChannel != null) { - // 下发关闭访客 - NettyProxyMsg closeRealClient = new NettyProxyMsg(); - closeRealClient.setType(MessageType.DISTRIBUTE_SINGLE_CLIENT_REAL_CONNECT_AUTO_READ); - closeRealClient.setClientId(clientId); - closeRealClient.setVisitorId(visitorId); - nextChannel.writeAndFlush(closeRealClient); - } - - ctx.close(); } } \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/socket/NettyClientPermeateClientRealSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/socket/NettyClientPermeateClientRealSocket.java index 9e16fe7..d0c7f61 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/socket/NettyClientPermeateClientRealSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/socket/NettyClientPermeateClientRealSocket.java @@ -141,7 +141,7 @@ public class NettyClientPermeateClientRealSocket { nettyProxyMsg.setClientTargetIp(clientTargetIp); nettyProxyMsg.setClientTargetPort(clientTargetPort); nettyProxyMsg.setVisitorPort(visitorPort); - nettyProxyMsg.setType(MessageType.REPORT_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL); + nettyProxyMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL); visitorChannel.writeAndFlush(nettyProxyMsg); ChannelAttributeKeyUtils.buildNextChannel(visitorChannel, realChannel); diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/MessageType.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/MessageType.java index 3cc0234..1bacaa3 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/MessageType.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/MessageType.java @@ -177,27 +177,36 @@ public class MessageType { * * @see MessageTypeEnums#REPORT_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL * @see AbstractHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced - * @see MessageType#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL + * @see MessageType#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL */ - public static final byte REPORT_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL = 0X22; + public static final byte REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL = 0X22; /** * 上报客户端渗透客户端数据传输请求 * * @see MessageTypeEnums#REPORT_CLIENT_TRANSFER_CLIENT_REQUEST * @see AbstractHandleReportClientTransferClientTypeAdvanced - * @see MessageType#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_REQUEST + * @see MessageType#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST */ - public static final byte REPORT_CLIENT_TRANSFER_CLIENT_REQUEST = 0X23; + public static final byte REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST = 0X23; /** * 上报客户端渗透客户端数据传输结果 * * @see MessageTypeEnums#REPORT_CLIENT_TRANSFER_CLIENT_RESPONSE * @see AbstractHandleReportClientTransferClientResponseTypeAdvanced - * @see MessageType#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_RESPONSE + * @see MessageType#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_RESPONSE */ public static final byte REPORT_CLIENT_TRANSFER_CLIENT_RESPONSE = 0X24; + /** + * 上报客户端渗透客户端通信通道关闭 + * + * @see MessageTypeEnums#REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE + * @see AbstractHandleReportClientPermeateClientTransferCloseTypeAdvanced + * @see MessageType#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE + */ + public static final byte REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE = 0X25; + /** * 下发 客户端接收连接成功通知 * @@ -354,26 +363,36 @@ public class MessageType { /** * 下发 客户端渗透客户端数据传输通道init 成功 * - * @see MessageTypeEnums#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL * @see AbstractHandleDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced - * @see MessageType#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL + * @see MessageType#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL */ - public static final byte DISTRIBUTE_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL = -0X22; + public static final byte DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL = -0X22; /** * 下发 客户端渗透客户端数据传输请求 * - * @see MessageTypeEnums#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_REQUEST + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST * @see AbstractHandleDistributeClientTransferClientRequestTypeAdvanced - * @see MessageType#REPORT_CLIENT_TRANSFER_CLIENT_REQUEST + * @see MessageType#REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST */ - public static final byte DISTRIBUTE_CLIENT_TRANSFER_CLIENT_REQUEST = -0X23; + public static final byte DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST = -0X23; /** * 下发客户端渗透客户端数据传输响应 * - * @see MessageTypeEnums#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_RESPONSE + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_RESPONSE * @see AbstractHandleDistributeClientTransferClientResponseTypeAdvanced * @see MessageType#REPORT_CLIENT_TRANSFER_CLIENT_RESPONSE */ - public static final byte DISTRIBUTE_CLIENT_TRANSFER_CLIENT_RESPONSE = -0X24; + public static final byte DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_RESPONSE = -0X24; + + + /** + * 下发客户端渗透客户端通信通道关闭 + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE + * @see AbstractHandleDistributeClientPermeateClientTransferCloseTypeAdvanced + * @see MessageType#REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE + */ + public static final byte DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE = -0X25; } diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientPermeateClientTransferCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientPermeateClientTransferCloseTypeAdvanced.java new file mode 100644 index 0000000..9f03849 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientPermeateClientTransferCloseTypeAdvanced.java @@ -0,0 +1,28 @@ +package org.framework.lazy.cloud.network.heartbeat.common.advanced.client; + + +import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 下发客户端渗透客户端通信通道关闭 + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE + */ +public abstract class AbstractHandleDistributeClientPermeateClientTransferCloseTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE.getTypeByte() == msg.getType(); + } +} diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java index e3a66ee..d83708f 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java @@ -23,6 +23,6 @@ public abstract class AbstractHandleDistributeClientTransferClientPermeateChanne */ @Override public boolean doSupport(NettyProxyMsg msg) { - return MessageTypeEnums.DISTRIBUTE_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL.getTypeByte() == msg.getType(); + return MessageTypeEnums.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL.getTypeByte() == msg.getType(); } } diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientRequestTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientRequestTypeAdvanced.java index 0ee377d..889ca30 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientRequestTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientRequestTypeAdvanced.java @@ -10,7 +10,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.enums.MessageTypeEnums; /** * 下发客户端渗透客户端数据传输 * - * @see MessageTypeEnums#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_REQUEST + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST */ public abstract class AbstractHandleDistributeClientTransferClientRequestTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { @@ -23,6 +23,6 @@ public abstract class AbstractHandleDistributeClientTransferClientRequestTypeAdv */ @Override public boolean doSupport(NettyProxyMsg msg) { - return MessageTypeEnums.DISTRIBUTE_CLIENT_TRANSFER_CLIENT_REQUEST.getTypeByte() == msg.getType(); + return MessageTypeEnums.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST.getTypeByte() == msg.getType(); } } diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientResponseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientResponseTypeAdvanced.java index a0aa2fa..144598d 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientResponseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/client/AbstractHandleDistributeClientTransferClientResponseTypeAdvanced.java @@ -10,7 +10,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.enums.MessageTypeEnums; /** * 下发客户端渗透客户端数据传输响应 * - * @see MessageTypeEnums#DISTRIBUTE_CLIENT_TRANSFER_CLIENT_RESPONSE + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_RESPONSE */ public abstract class AbstractHandleDistributeClientTransferClientResponseTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { @@ -23,6 +23,6 @@ public abstract class AbstractHandleDistributeClientTransferClientResponseTypeAd */ @Override public boolean doSupport(NettyProxyMsg msg) { - return MessageTypeEnums.DISTRIBUTE_CLIENT_TRANSFER_CLIENT_RESPONSE.getTypeByte() == msg.getType(); + return MessageTypeEnums.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_RESPONSE.getTypeByte() == msg.getType(); } } diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientPermeateClientTransferCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientPermeateClientTransferCloseTypeAdvanced.java new file mode 100644 index 0000000..be8a10a --- /dev/null +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientPermeateClientTransferCloseTypeAdvanced.java @@ -0,0 +1,27 @@ +package org.framework.lazy.cloud.network.heartbeat.common.advanced.server; + + +import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.enums.MessageTypeEnums; + + +/** + * 上报客户端渗透客户端通信通道关闭 + *@see MessageTypeEnums#REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE + */ +public abstract class AbstractHandleReportClientPermeateClientTransferCloseTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param msg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + public boolean doSupport(NettyProxyMsg msg) { + return MessageTypeEnums.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE.getTypeByte() == msg.getType(); + } +} diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java index 95f9d8a..5e41be0 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java @@ -9,7 +9,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.enums.MessageTypeEnums; /** * 上报 客户端渗透客户端数据传输通道init - * REPORT_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL + * REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL */ public abstract class AbstractHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientTransferClientTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientTransferClientTypeAdvanced.java index 071a71f..55cab60 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientTransferClientTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/server/AbstractHandleReportClientTransferClientTypeAdvanced.java @@ -9,7 +9,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.enums.MessageTypeEnums; /** * 上报客户端渗透客户端数据传输 - * REPORT_CLIENT_TRANSFER_CLIENT_REQUEST + * REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST */ public abstract class AbstractHandleReportClientTransferClientTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/enums/MessageTypeEnums.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/enums/MessageTypeEnums.java index 8b857d7..4f227a3 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/enums/MessageTypeEnums.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/enums/MessageTypeEnums.java @@ -104,17 +104,23 @@ public enum MessageTypeEnums { * 上报 客户端渗透客户端数据传输通道init 成功 * @see AbstractHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced */ - REPORT_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL(MessageType.REPORT_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL, "上报 客户端渗透客户端数据传输通道init成功"), + REPORT_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL, "上报 客户端渗透客户端数据传输通道init成功"), /** * 上报 上报客户端渗透客户端数据传输 * @see AbstractHandleReportClientTransferClientTypeAdvanced */ - REPORT_CLIENT_TRANSFER_CLIENT_REQUEST(MessageType.REPORT_CLIENT_TRANSFER_CLIENT_REQUEST, "上报客户端渗透客户端数据传输"), + REPORT_CLIENT_TRANSFER_CLIENT_REQUEST(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST, "上报客户端渗透客户端数据传输"), /** * 上报客户端渗透客户端数据传输结果 * @see AbstractHandleReportClientTransferClientResponseTypeAdvanced */ REPORT_CLIENT_TRANSFER_CLIENT_RESPONSE(MessageType.REPORT_CLIENT_TRANSFER_CLIENT_RESPONSE, "上报客户端渗透客户端数据传输结果"), + /** + * 上报客户端渗透客户端通信通道关闭 + * + * @see AbstractHandleReportClientPermeateClientTransferCloseTypeAdvanced + */ + REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE(MessageType.REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE, "上报客户端渗透客户端通信通道关闭"), /** * @see AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle */ @@ -202,17 +208,24 @@ public enum MessageTypeEnums { * 下发 客户端渗透客户端数据传输通道init 成功 * @see AbstractHandleDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced */ - DISTRIBUTE_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL(MessageType.DISTRIBUTE_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL, "下发 客户端渗透客户端数据传输通道init 成功"), + DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL, "下发 客户端渗透客户端数据传输通道init 成功"), /** * 下发客户端渗透客户端数据传输 * @see AbstractHandleDistributeClientTransferClientRequestTypeAdvanced */ - DISTRIBUTE_CLIENT_TRANSFER_CLIENT_REQUEST(MessageType.DISTRIBUTE_CLIENT_TRANSFER_CLIENT_REQUEST, "下发客户端渗透客户端数据传输"), - /** - * 下发客户端渗透客户端数据传输响应 + DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST, "下发客户端渗透客户端数据传输"), + /** + * 下发客户端渗透客户端数据传输 * @see AbstractHandleDistributeClientTransferClientResponseTypeAdvanced */ - DISTRIBUTE_CLIENT_TRANSFER_CLIENT_RESPONSE(MessageType.DISTRIBUTE_CLIENT_TRANSFER_CLIENT_RESPONSE, "下发客户端渗透客户端数据传输响应"), + DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_RESPONSE(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_RESPONSE, "下发客户端渗透客户端数据传输"), + /** + * 下发客户端渗透客户端通信通道关闭 + * + * @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE + * @see AbstractHandleDistributeClientPermeateClientTransferCloseTypeAdvanced + */ + DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE, "下发客户端渗透客户端通信通道关闭"), ; private final byte typeByte; diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientPermeateClientTransferCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientPermeateClientTransferCloseTypeAdvanced.java new file mode 100644 index 0000000..7b1e9e5 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientPermeateClientTransferCloseTypeAdvanced.java @@ -0,0 +1,41 @@ +package org.framework.lazy.cloud.network.heartbeat.server.netty.advanced; + +import io.netty.channel.Channel; +import lombok.extern.slf4j.Slf4j; +import org.framework.lazy.cloud.network.heartbeat.common.MessageType; +import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.server.AbstractHandleReportClientPermeateClientTransferCloseTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.springframework.stereotype.Component; + +/** + * 上报客户端渗透客户端通信通道关闭 + */ +@Slf4j +@Component +public class ServerHandleReportClientPermeateClientTransferCloseTypeAdvanced extends AbstractHandleReportClientPermeateClientTransferCloseTypeAdvanced { + + + /** + * 处理当前数据 + * + * @param channel 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + // 关闭 next、next transfer 通道 + + Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(channel); + Channel transferNextChannel = ChannelAttributeKeyUtils.getTransferNextChannel(channel); + + // 下发关闭客户端真实通道 + NettyProxyMsg closeTransferNettyProxyMsg = new NettyProxyMsg(); + closeTransferNettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE); + transferNextChannel.writeAndFlush(closeTransferNettyProxyMsg); + + channel.close(); + nextChannel.close(); + transferNextChannel.close(); + } +} diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java index d1f05d0..d9987fc 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java @@ -2,11 +2,9 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.advanced; import io.netty.channel.Channel; import lombok.extern.slf4j.Slf4j; -import org.framework.lazy.cloud.network.heartbeat.common.ChannelContext; import org.framework.lazy.cloud.network.heartbeat.common.MessageType; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.NettyTransferChannelContext; -import org.framework.lazy.cloud.network.heartbeat.common.advanced.server.AbstractHandleReportClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.advanced.server.AbstractHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; import org.springframework.stereotype.Component; @@ -46,7 +44,7 @@ public class ServerHandleReportClientTransferClientPermeateChannelInitSuccessful clientConnectTagetNettyProxyMsg.setClientTargetIp(msgClientTargetIp); clientConnectTagetNettyProxyMsg.setClientTargetPort(msgClientTargetPort); clientConnectTagetNettyProxyMsg.setClientId(clientId); - clientConnectTagetNettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_INIT_SUCCESSFUL); + clientConnectTagetNettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL); if (nextChannel != null) { nextChannel.writeAndFlush(clientConnectTagetNettyProxyMsg); }else { diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientResponseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientResponseTypeAdvanced.java index aba22b9..225398f 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientResponseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientResponseTypeAdvanced.java @@ -4,7 +4,6 @@ import io.netty.channel.Channel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.MessageType; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; -import org.framework.lazy.cloud.network.heartbeat.common.advanced.server.AbstractHandleReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.advanced.server.AbstractHandleReportClientTransferClientResponseTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; import org.springframework.stereotype.Component; @@ -40,7 +39,7 @@ public class ServerHandleReportClientTransferClientResponseTypeAdvanced extends clientConnectTagetNettyProxyMsg.setClientTargetPort(msgClientTargetPort); clientConnectTagetNettyProxyMsg.setClientId(clientId); clientConnectTagetNettyProxyMsg.setData(nettyProxyMsg.getData()); - clientConnectTagetNettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_TRANSFER_CLIENT_RESPONSE); + clientConnectTagetNettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_RESPONSE); if (nextChannel != null) { nextChannel.writeAndFlush(clientConnectTagetNettyProxyMsg); }else { diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientTypeAdvanced.java index bfc384d..a5a3810 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/advanced/ServerHandleReportClientTransferClientTypeAdvanced.java @@ -39,7 +39,7 @@ public class ServerHandleReportClientTransferClientTypeAdvanced extends Abstract clientConnectTagetNettyProxyMsg.setClientTargetPort(msgClientTargetPort); clientConnectTagetNettyProxyMsg.setClientId(clientId); clientConnectTagetNettyProxyMsg.setData(nettyProxyMsg.getData()); - clientConnectTagetNettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_TRANSFER_CLIENT_REQUEST); + clientConnectTagetNettyProxyMsg.setType(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST); if (nextChannel != null) { nextChannel.writeAndFlush(clientConnectTagetNettyProxyMsg); }else {