diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpChannelHeartbeatTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpChannelHeartbeatTypeAdvanced.java index 729056c1..ceb0abe0 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpChannelHeartbeatTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpChannelHeartbeatTypeAdvanced.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.AbstractTcpHandleChannelHeartbeatTypeAdvanced; @@ -16,14 +16,14 @@ public class ClientHandleTcpChannelHeartbeatTypeAdvanced extends AbstractTcpHand /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg msg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { NettyProxyMsg hb = new NettyProxyMsg(); hb.setType(TcpMessageType.TCP_TYPE_HEARTBEAT); -// channel.writeAndFlush(hb); +// channelHandlerContext.writeAndFlush(hb); } } diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpChannelTransferTypeAdvancedHandleDistributeTcpDistribute.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpChannelTransferTypeAdvancedHandleDistributeTcpDistribute.java index 627a9605..ede75f6b 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpChannelTransferTypeAdvancedHandleDistributeTcpDistribute.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpChannelTransferTypeAdvancedHandleDistributeTcpDistribute.java @@ -3,6 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -28,11 +29,12 @@ public class ClientHandleTcpChannelTransferTypeAdvancedHandleDistributeTcpDistri /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); log.debug("接收到服务端需要内网穿透的数据:{}" , nettyProxyMsg); String clientId = nettyClientProperties.getClientId(); byte[] visitorPort = nettyProxyMsg.getVisitorPort(); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpClientChannelActiveAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpClientChannelActiveAdvanced.java index 2a4c8484..1c4c2488 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpClientChannelActiveAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpClientChannelActiveAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; import org.framework.lazy.cloud.network.heartbeat.common.ChannelContext; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -20,11 +21,12 @@ public class ClientHandleTcpClientChannelActiveAdvanced extends AbstractHandleTc /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); // 缓存当前通道 byte[] clientIdByte = nettyProxyMsg.getClientId(); String clientId = new String(clientIdByte); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientCloseTypeAdvanced.java index 60a8697f..3898b4f9 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientCloseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientCloseTypeAdvanced.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext; @@ -22,11 +22,11 @@ public class ClientHandleTcpDistributeClientPermeateClientCloseTypeAdvanced exte /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { // 初始化 客户端渗透服务端socket byte[] msgVisitorPort = nettyProxyMsg.getVisitorPort(); Integer visitorPort = Integer.parseInt(new String(msgVisitorPort)); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientInitTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientInitTypeAdvanced.java index 1d8c1f69..92f4f316 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientInitTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientInitTypeAdvanced.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateClientVisitorSocket; @@ -26,11 +26,11 @@ public class ClientHandleTcpDistributeClientPermeateClientInitTypeAdvanced exten /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { // 初始化 客户端渗透服务端socket byte[] fromClientIdBytes = nettyProxyMsg.getClientId(); byte[] visitorPortBytes = nettyProxyMsg.getVisitorPort(); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientTransferCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientTransferCloseTypeAdvanced.java index fd33d5d0..614e51e9 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientTransferCloseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateClientTransferCloseTypeAdvanced.java @@ -2,6 +2,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateClientTransferCloseTypeAdvanced; @@ -20,11 +21,12 @@ public class ClientHandleTcpDistributeClientPermeateClientTransferCloseTypeAdvan /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); // 关闭客户端真实通道、访客通道 Channel realChannel = ChannelAttributeKeyUtils.getNextChannel(channel); realChannel.close();// 真实通道关闭 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerCloseTypeAdvanced.java index 1b2d711e..aed086c2 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerCloseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerCloseTypeAdvanced.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext; @@ -22,11 +22,11 @@ public class ClientHandleTcpDistributeClientPermeateServerCloseTypeAdvanced exte /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { // 初始化 客户端渗透服务端socket byte[] msgVisitorPort = nettyProxyMsg.getVisitorPort(); Integer visitorPort = Integer.parseInt(new String(msgVisitorPort)); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerInitTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerInitTypeAdvanced.java index c33ab6e4..f990ac11 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerInitTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerInitTypeAdvanced.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateServerVisitorSocket; @@ -32,11 +32,11 @@ public class ClientHandleTcpDistributeClientPermeateServerInitTypeAdvanced exten /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { // 初始化 客户端渗透服务端socket byte[] clientIdBytes = nettyProxyMsg.getClientId(); byte[] visitorPort = nettyProxyMsg.getVisitorPort(); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerTransferCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerTransferCloseTypeAdvanced.java index 023efda1..16c0ec02 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerTransferCloseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerTransferCloseTypeAdvanced.java @@ -2,6 +2,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateServerTransferCloseTypeAdvanced; @@ -20,11 +21,12 @@ public class ClientHandleTcpDistributeClientPermeateServerTransferCloseTypeAdvan /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); // 关闭本地通信通道 Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(channel); channel.close(); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerTransferTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerTransferTypeAdvanced.java index 23b64b62..da7ad7f9 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerTransferTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientPermeateServerTransferTypeAdvanced.java @@ -3,6 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateServerTransferTypeAdvanced; @@ -22,11 +23,12 @@ public class ClientHandleTcpDistributeClientPermeateServerTransferTypeAdvanced e /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); log.debug("客户端渗透服务端返回数据:{}" , new String(nettyProxyMsg.getData())); byte[] visitorPort = nettyProxyMsg.getVisitorPort(); byte[] clientTargetIp = nettyProxyMsg.getClientTargetIp(); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced.java index f9120b77..7a5427dc 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateClientRealSocket; @@ -27,11 +27,11 @@ public class ClientHandleTcpDistributeClientTransferClientPermeateChannelConnect /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { // 创建connect 然后发送创建成功 byte[] msgClientId = nettyProxyMsg.getClientId(); byte[] msgClientTargetIp = nettyProxyMsg.getClientTargetIp(); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java index 43a265a3..068b07d6 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java @@ -2,6 +2,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelOption; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -24,11 +25,12 @@ public class ClientHandleTcpDistributeClientTransferClientPermeateChannelInitSuc /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); // 连接成功 开启自动读取写 byte[] msgClientId = nettyProxyMsg.getClientId(); byte[] msgClientTargetIp = nettyProxyMsg.getClientTargetIp(); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientRequestTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientRequestTypeAdvanced.java index b3ffd283..302d42a7 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientRequestTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferClientRequestTypeAdvanced.java @@ -3,6 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientTransferClientRequestTypeAdvanced; @@ -24,11 +25,12 @@ public class ClientHandleTcpDistributeClientTransferClientRequestTypeAdvanced ex /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(channel); // 把数据转到真实服务 ByteBuf buf = channel.config().getAllocator().buffer(nettyProxyMsg.getData().length); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced.java index c99e6af6..251f059f 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced.java @@ -2,6 +2,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelOption; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.handler.NettyTcpClientPermeateServerVisitorHandler; @@ -27,15 +28,16 @@ public class ClientHandleTcpDistributeClientTransferServerPermeateChannelConnect /** * 处理当前数据 * - * @param transferChannel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel transferChannel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); // 连接成功 开启自动读取写 byte[] msgVisitorId = nettyProxyMsg.getVisitorId(); String visitorId = new String(msgVisitorId); - Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(transferChannel); + Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(channel); nextChannel.config().setOption(ChannelOption.AUTO_READ, true); } diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeConnectSuccessNotificationTypeAdvancedHandle.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeConnectSuccessNotificationTypeAdvancedHandle.java index 8fa17d43..21b09998 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeConnectSuccessNotificationTypeAdvancedHandle.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeConnectSuccessNotificationTypeAdvancedHandle.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; import com.alibaba.fastjson.JSONObject; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -25,11 +25,11 @@ public class ClientHandleTcpDistributeConnectSuccessNotificationTypeAdvancedHand /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg msg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { // 客户端ID:{},客户端:{}连接成功 log.warn("Client ID: {}, Client Data : {} Connection successful", new String(msg.getClientId()), new String(msg.getData())); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeDisconnectTypeAdvancedHandle.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeDisconnectTypeAdvancedHandle.java index 22be90c9..9bc73a2a 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeDisconnectTypeAdvancedHandle.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeDisconnectTypeAdvancedHandle.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -25,11 +25,11 @@ public class ClientHandleTcpDistributeDisconnectTypeAdvancedHandle extends Abstr /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg msg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { // 服务下线 byte[] data = msg.getData(); byte[] clientId = msg.getClientId(); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeServicePermeateClientRealConnectTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeServicePermeateClientRealConnectTypeAdvanced.java index f3d87007..0d1c5f28 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeServicePermeateClientRealConnectTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeServicePermeateClientRealConnectTypeAdvanced.java @@ -1,6 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpServerPermeateClientRealSocket; @@ -30,11 +30,11 @@ public class ClientHandleTcpDistributeServicePermeateClientRealConnectTypeAdvanc /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg msg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { // 创建真实端口监听 byte[] clientIdBytes = msg.getClientId(); byte[] visitorPort = msg.getVisitorPort(); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeServicePermeateClientTransferClientResponseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeServicePermeateClientTransferClientResponseTypeAdvanced.java index 3cfe8339..183c0366 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeServicePermeateClientTransferClientResponseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeServicePermeateClientTransferClientResponseTypeAdvanced.java @@ -3,6 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeServicePermeateClientTransferClientResponseTypeAdvanced; @@ -24,11 +25,12 @@ public class ClientHandleTcpDistributeServicePermeateClientTransferClientRespons /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(channel); // 把数据转到真实服务 ByteBuf buf = channel.config().getAllocator().buffer(nettyProxyMsg.getData().length); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientMessageTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientMessageTypeAdvanced.java index 0545930c..3f61d733 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientMessageTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientMessageTypeAdvanced.java @@ -1,6 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeSingleClientMessageTypeAdvanced; @@ -13,11 +13,11 @@ public class ClientHandleTcpDistributeSingleClientMessageTypeAdvanced extends Ab /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { byte[] clientId = nettyProxyMsg.getClientId(); byte[] data = nettyProxyMsg.getData(); log.info("接收客户端:{},发送过来的聊天信息:{}", new String(clientId), new String(data)); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientRealAutoReadConnectTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientRealAutoReadConnectTypeAdvanced.java index 3b12d974..69528f7f 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientRealAutoReadConnectTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientRealAutoReadConnectTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelOption; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -13,11 +14,12 @@ public class ClientHandleTcpDistributeSingleClientRealAutoReadConnectTypeAdvance /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); // 获取访客ID byte[] visitorId = nettyProxyMsg.getVisitorId(); // 获取访客对应的真实代理通道 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced.java index 078ff9aa..059a5db0 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced.java @@ -1,6 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyCommunicationIdContext; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -12,11 +12,11 @@ public class ClientHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced e /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { // 关闭代理的真实通道 byte[] visitorId = nettyProxyMsg.getVisitorId(); NettyRealIdContext.clear(visitorId); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeStagingClosedTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeStagingClosedTypeAdvanced.java index 2eeaf359..a4fa6a6e 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeStagingClosedTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeStagingClosedTypeAdvanced.java @@ -1,6 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeStagingClosedTypeAdvanced; @@ -15,11 +15,11 @@ public class ClientHandleTcpDistributeStagingClosedTypeAdvanced extends Abstract /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg msg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { String clientId = new String(msg.getClientId()); log.info("客户端:{}离线暂存关闭", clientId); // 修改redis 客户端暂存状态 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeStagingOpenedTypeAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeStagingOpenedTypeAdvanced.java index 77d274eb..b55a77b0 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeStagingOpenedTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/advanced/ClientHandleTcpDistributeStagingOpenedTypeAdvanced.java @@ -1,6 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeStagingOpenedTypeAdvanced; @@ -19,11 +19,11 @@ public class ClientHandleTcpDistributeStagingOpenedTypeAdvanced extends Abstract /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg msg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { String clientId = new String(msg.getClientId()); //客户端:{}离线暂存开启 log.warn("Client: {} Offline temporary storage enabled", new String(msg.getClientId())); diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/handler/NettyTcpClientHandler.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/handler/NettyTcpClientHandler.java index 794844d5..655a6e6b 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/handler/NettyTcpClientHandler.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/handler/NettyTcpClientHandler.java @@ -47,7 +47,7 @@ public class NettyTcpClientHandler extends SimpleChannelInboundHandler handleChannelTypeAdvancedSortedList = handleChannelTypeAdvancedList. @@ -36,7 +37,7 @@ public class ChannelTypeAdapter { for (HandleChannelTypeAdvanced handleChannelTypeAdvanced : handleChannelTypeAdvancedSortedList) { if (handleChannelTypeAdvanced.support(msg)) { // log.info("处理器:{},客户端:{}, 处理类型:{}",handleChannelTypeAdvanced.getClass(),new String(msg.getClientId()),msg.getMysqlType()); - handleChannelTypeAdvanced.handler(channel, msg); + handleChannelTypeAdvanced.handler(channelHandlerContext, msg); return; } } diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/AbstractHandleChannelTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/AbstractHandleChannelTypeAdvanced.java index 643fc2f7..a22ad9db 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/AbstractHandleChannelTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/AbstractHandleChannelTypeAdvanced.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.common.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; @@ -12,20 +12,20 @@ public abstract class AbstractHandleChannelTypeAdvanced implements HandleCh /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道上下文 * @param msg 通道数据 */ - protected abstract void doHandler(Channel channel, MSG msg); + protected abstract void doHandler(ChannelHandlerContext channelHandlerContext, MSG msg); /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道上下文 * @param msg 通道数据 */ @Override - public void handler(Channel channel, Object msg) { - doHandler(channel, (MSG) msg); + public void handler(ChannelHandlerContext channelHandlerContext, Object msg) { + doHandler(channelHandlerContext, (MSG) msg); } /** diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/HandleChannelTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/HandleChannelTypeAdvanced.java index af73df57..741929d6 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/HandleChannelTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/HandleChannelTypeAdvanced.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.common.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import org.springframework.core.Ordered; import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType; import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums; @@ -9,19 +9,21 @@ import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnu /** * 通道不同数据类型处理器 * + * * @see TcpMessageType * @see TcpMessageTypeEnums */ + public interface HandleChannelTypeAdvanced extends Ordered { /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道上下文 * @param msg 通道数据 */ - void handler(Channel channel, Object msg); + void handler(ChannelHandlerContext channelHandlerContext, Object msg); /** * 是否支持当前类型 diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/proxy/socket/AbstractHandleSocketLocalProxyTypeAdvanced.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/proxy/socket/AbstractHandleSocketLocalProxyTypeAdvanced.java new file mode 100644 index 00000000..18273868 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/advanced/proxy/socket/AbstractHandleSocketLocalProxyTypeAdvanced.java @@ -0,0 +1,21 @@ +package org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.socket; + +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.ProxyMessageTypeEnums; + +public abstract class AbstractHandleSocketLocalProxyTypeAdvanced extends AbstractHandleChannelTypeAdvanced implements HandleChannelTypeAdvanced { + + + /** + * 是否支持当前类型 + * + * @param nettyProxyMsg 通道数据 + * @return 布尔类型 是、否 + */ + @Override + protected boolean doSupport(NettyProxyMsg nettyProxyMsg) { + return ProxyMessageTypeEnums.SOCKET_LOCAL_PROXY.getTypeByte() == nettyProxyMsg.getType(); + } +} diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/constant/ProxyMessageType.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/constant/ProxyMessageType.java index 90595402..070f79c0 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/constant/ProxyMessageType.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/constant/ProxyMessageType.java @@ -5,7 +5,8 @@ import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.Abs import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.AbstractHttpLocalProxyTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.client.*; import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.server.*; -import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.socket.AbstractHandleSocketLocalProxyTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.enums.ProxyMessageTypeEnums; /** * http代理消息类型 @@ -18,14 +19,14 @@ public class ProxyMessageType { /** * http 本地代理 * - * @see TcpMessageTypeEnums#HTTP_LOCAL_PROXY + * @see ProxyMessageTypeEnums#HTTP_LOCAL_PROXY * @see AbstractHttpLocalProxyTypeAdvanced */ public static final byte HTTP_LOCAL_PROXY = 96; /** * http 远程客户端代理 * - * @see TcpMessageTypeEnums#HTTP_CLIENT_PROXY_CLIENT_ + * @see ProxyMessageTypeEnums#HTTP_CLIENT_PROXY_CLIENT_ * @see AbstractHttpClientProxyClientTypeAdvanced */ public static final byte HTTP_CLIENT_PROXY_CLIENT_ = HTTP_LOCAL_PROXY + 1; @@ -34,21 +35,21 @@ public class ProxyMessageType { /** * http 远程服务端代理 * - * @see TcpMessageTypeEnums#HTTP_CLIENT_PROXY_SERVER_ + * @see ProxyMessageTypeEnums#HTTP_CLIENT_PROXY_SERVER_ * @see AbstractHttpClientProxyServerTypeAdvanced */ public static final byte HTTP_CLIENT_PROXY_SERVER_ = HTTP_CLIENT_PROXY_CLIENT_ + 1; /** * http 远程服务端代理传输数据上报 * - * @see TcpMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_SERVER_TRANSFER_ + * @see ProxyMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_SERVER_TRANSFER_ * @see AbstractHandleHttpReportClientProxyServerTransferTypeAdvanced */ public static final byte HTTP_REPORT_CLIENT_PROXY_SERVER_TRANSFER_ = HTTP_CLIENT_PROXY_SERVER_ + 1; /** * http 远程代理服务通道关闭 * - * @see TcpMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_SERVER_TRANSFER_CLOSE_ + * @see ProxyMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_SERVER_TRANSFER_CLOSE_ * @see AbstractHandleHttpReportClientProxyServerTransferCloseTypeAdvanced */ public static final byte HTTP_REPORT_CLIENT_PROXY_SERVER_TRANSFER_CLOSE_ = HTTP_REPORT_CLIENT_PROXY_SERVER_TRANSFER_ + 1; @@ -57,7 +58,7 @@ public class ProxyMessageType { /** * http 客户端远程客户端代理传输连接 * - * @see TcpMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CONNECTION_ + * @see ProxyMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CONNECTION_ * @see AbstractHandleHttpReportClientProxyClientConnectionTransferTypeAdvanced */ public static final byte HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CONNECTION_ = HTTP_REPORT_CLIENT_PROXY_SERVER_TRANSFER_CLOSE_ + 1; @@ -66,7 +67,7 @@ public class ProxyMessageType { /** * http 目标客户端传输通道连接初始化成功 * - * @see TcpMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ + * @see ProxyMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ * @see AbstractHandleHttpReportClientProxyClientTransferChannelInitSuccessfulTypeAdvanced */ public static final byte HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ = HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CONNECTION_ + 1; @@ -75,7 +76,7 @@ public class ProxyMessageType { /** * http 另一个客户端将返回数据通过传输通道返回 * - * @see TcpMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_RESPONSE_ + * @see ProxyMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_RESPONSE_ * @see AbstractHandleHttpReportClientProxyClientTransferResponseTypeAdvanced */ public static final byte HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_RESPONSE_ = HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ + 1; @@ -83,7 +84,7 @@ public class ProxyMessageType { /** * 上报传输通道关闭 * - * @see TcpMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CLOSE_ + * @see ProxyMessageTypeEnums#HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CLOSE_ * @see AbstractHandleHttpReportClientProxyClientTransferCloseTypeAdvanced */ public static final byte HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CLOSE_ = HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_RESPONSE_ + 1; @@ -91,7 +92,7 @@ public class ProxyMessageType { /** * http 服务端代理客户端 * - * @see TcpMessageTypeEnums#HTTP_SERVER_PROXY_CLIENT_ + * @see ProxyMessageTypeEnums#HTTP_SERVER_PROXY_CLIENT_ * @see AbstractHttpServerProxyClientTypeAdvanced */ public static final byte HTTP_SERVER_PROXY_CLIENT_ = HTTP_REPORT_CLIENT_PROXY_CLIENT_TRANSFER_CLOSE_ + 1; @@ -100,7 +101,7 @@ public class ProxyMessageType { /** * http 上报客户端连接成功 * - * @see TcpMessageTypeEnums#HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ + * @see ProxyMessageTypeEnums#HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ * @see AbstractHandleHttpReportServerProxyClientTransferChannelInitSuccessfulTypeAdvanced */ public static final byte HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ = HTTP_SERVER_PROXY_CLIENT_ + 1; @@ -108,14 +109,14 @@ public class ProxyMessageType { /** * 下发返回结果 * - * @see TcpMessageTypeEnums#HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_RESPONSE_ + * @see ProxyMessageTypeEnums#HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_RESPONSE_ * @see AbstractHandleHttpReportServerProxyClientTransferResponseTypeAdvanced */ public static final byte HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_RESPONSE_ = HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ + 1; /** * 上报传输通道关闭 * - * @see TcpMessageTypeEnums#HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CLOSE_ + * @see ProxyMessageTypeEnums#HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CLOSE_ * @see AbstractHandleHttpReportServerProxyClientTransferCloseTypeAdvanced */ public static final byte HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CLOSE_ = HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_RESPONSE_ + 1; @@ -123,6 +124,39 @@ public class ProxyMessageType { + // ################################################################################################# + // socket 代理 + /** + * socket 本地代理 + * + * @see ProxyMessageTypeEnums#SOCKET_LOCAL_PROXY + * @see AbstractHandleSocketLocalProxyTypeAdvanced + */ + public static final byte SOCKET_LOCAL_PROXY = HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CLOSE_ + 1; + + + /** + * socket 客户端代理客户端 + * + * @see ProxyMessageTypeEnums#SOCKET_CLIENT_PROXY_CLIENT_ + * @see AbstractHandleSocketClientProxyClietnTypeAdvanced + */ + public static final byte SOCKET_CLIENT_PROXY_CLIENT_ = SOCKET_LOCAL_PROXY + 1; + /** + * socket 客户端代理服务端 + * + * @see ProxyMessageTypeEnums#SOCKET_CLIENT_PROXY_SERVER_ + * @see AbstractHandleSocketClientProxyServerTypeAdvanced + */ + public static final byte SOCKET_CLIENT_PROXY_SERVER_ = SOCKET_CLIENT_PROXY_CLIENT_ + 1; + + /** + * socket 服务端代理客户端 + * + * @see ProxyMessageTypeEnums#SOCKET_SERVER_PROXY_CLIENT_ + * @see AbstractHandleSocketServerProxyClientTypeAdvanced + */ + public static final byte SOCKET_SERVER_PROXY_CLIENT_ = SOCKET_CLIENT_PROXY_SERVER_ + 1; public static final byte HTTP_DISTRIBUTE_PROXY = -96; @@ -130,7 +164,7 @@ public class ProxyMessageType { /** * 下发服务端路由 * - * @see TcpMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_SERVER_ROUTE_ + * @see ProxyMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_SERVER_ROUTE_ * @see AbstractHandleHttpDistributeClientProxyServerServerRouteTypeAdvanced */ public static final byte HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_SERVER_ROUTE_ = HTTP_DISTRIBUTE_PROXY - 1; @@ -139,7 +173,7 @@ public class ProxyMessageType { /** * 下发客户端路由 * - * @see TcpMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_CLIENT_ROUTE_ + * @see ProxyMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_CLIENT_ROUTE_ * @see AbstractHandleHttpDistributeClientProxyServerClientRouteTypeAdvanced */ public static final byte HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_CLIENT_ROUTE_ = HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_SERVER_ROUTE_ - 1; @@ -148,7 +182,7 @@ public class ProxyMessageType { /** * http 下发服务端连接客户端 * - * @see TcpMessageTypeEnums#HTTP_DISTRIBUTE_SERVER_PROXY_CLIENT_CONNECTION_SUCCESSFUL_ + * @see ProxyMessageTypeEnums#HTTP_DISTRIBUTE_SERVER_PROXY_CLIENT_CONNECTION_SUCCESSFUL_ * @see AbstractHandleHttpDistributeServerProxyClientConnectionSuccessfulTypeAdvanced */ public static final byte HTTP_DISTRIBUTE_SERVER_PROXY_CLIENT_CONNECTION_SUCCESSFUL_ = HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_CLIENT_ROUTE_ - 1; @@ -156,7 +190,7 @@ public class ProxyMessageType { /** * http 下发数据到另一个客户端 * - * @see TcpMessageTypeEnums#HTTP_DISTRIBUTE_SERVER_PROXY_CLIENT_TRANSFER_REQUEST_ + * @see ProxyMessageTypeEnums#HTTP_DISTRIBUTE_SERVER_PROXY_CLIENT_TRANSFER_REQUEST_ * @see AbstractHandleHttpDistributeServerProxyClientTransferRequestTypeAdvanced */ public static final byte HTTP_DISTRIBUTE_SERVER_PROXY_CLIENT_TRANSFER_REQUEST_ = HTTP_DISTRIBUTE_SERVER_PROXY_CLIENT_CONNECTION_SUCCESSFUL_ - 1; @@ -165,7 +199,7 @@ public class ProxyMessageType { /** * http 远程服务端代理传输数据下发 * - * @see TcpMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_TRANSFER_ + * @see ProxyMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_TRANSFER_ * @see AbstractHandleHttpDistributeClientProxyServerTransferTypeAdvanced */ public static final byte HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_TRANSFER_ = HTTP_DISTRIBUTE_SERVER_PROXY_CLIENT_TRANSFER_REQUEST_ - 1; @@ -175,7 +209,7 @@ public class ProxyMessageType { /** * http 客户端代理客户端,客户端连接服务端成功 * - * @see TcpMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_CONNECTION_SUCCESSFUL_ + * @see ProxyMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_CONNECTION_SUCCESSFUL_ * @see AbstractHandleHttpDistributeClientProxyClientConnectionTransferSuccessfulTypeAdvanced */ public static final byte HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_CONNECTION_SUCCESSFUL_ = HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_TRANSFER_ - 1; @@ -184,14 +218,14 @@ public class ProxyMessageType { /** * 下发返回结果 * - * @see TcpMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_RESPONSE_ + * @see ProxyMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_RESPONSE_ * @see AbstractHandleHttpDistributeClientProxyClientTransferResponseTypeAdvanced */ public static final byte HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_RESPONSE_ = HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_CONNECTION_SUCCESSFUL_ - 1; /** * 下发传输通道关闭 * - * @see TcpMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_CLOSE_ + * @see ProxyMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_CLOSE_ * @see AbstractHandleHttpDistributeClientProxyClientTransferCLoseTypeAdvanced */ public static final byte HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_CLOSE_ = HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_RESPONSE_ - 1; @@ -200,7 +234,7 @@ public class ProxyMessageType { /** * http 下发数据到另一个客户端 * - * @see TcpMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_REQUEST_ + * @see ProxyMessageTypeEnums#HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_REQUEST_ * @see AbstractHandleHttpDistributeClientProxyClientTransferRequestTypeAdvanced */ public static final byte HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_REQUEST_ = HTTP_DISTRIBUTE_CLIENT_PROXY_CLIENT_TRANSFER_CLOSE_ - 1; diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/enums/ProxyMessageTypeEnums.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/enums/ProxyMessageTypeEnums.java index 31429cf5..211708ad 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/enums/ProxyMessageTypeEnums.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/enums/ProxyMessageTypeEnums.java @@ -10,6 +10,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.Abs import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.AbstractHttpLocalProxyTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.client.*; import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.server.*; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.socket.AbstractHandleSocketLocalProxyTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.constant.ProxyMessageType; import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType; @@ -127,7 +128,7 @@ public enum ProxyMessageTypeEnums { /** * http 上报客户端连接成功 * - * @see TcpMessageTypeEnums#HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ + * @see ProxyMessageType#HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_ * @see AbstractHandleHttpReportServerProxyClientTransferChannelInitSuccessfulTypeAdvanced */ HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_(ProxyMessageType.HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CHANNEL_INIT_SUCCESSFUL_, "http 上报客户端连接成功"), @@ -150,6 +151,13 @@ public enum ProxyMessageTypeEnums { HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CLOSE_(ProxyMessageType.HTTP_REPORT_SERVER_PROXY_CLIENT_TRANSFER_CLOSE_, "http 上报传输通道关闭"), + /** + * socket本地代理 + * @see AbstractHandleSocketLocalProxyTypeAdvanced + */ + SOCKET_LOCAL_PROXY(ProxyMessageType.SOCKET_LOCAL_PROXY, "socket本地代理"), + + ; private final byte typeByte; diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/factory/EventLoopGroupFactory.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/factory/EventLoopGroupFactory.java index acbae5e7..d6954f6a 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/factory/EventLoopGroupFactory.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/factory/EventLoopGroupFactory.java @@ -8,6 +8,8 @@ public class EventLoopGroupFactory { private static final EventLoopGroup bossGroup = new NioEventLoopGroup(); private static final EventLoopGroup workerGroup = new NioEventLoopGroup(); + // 客户端工作分组 + private static final EventLoopGroup clientWorkGroup = new NioEventLoopGroup(); public static EventLoopGroup createBossGroup(){ return bossGroup; @@ -18,4 +20,7 @@ public class EventLoopGroupFactory { } + public static EventLoopGroup createClientWorkGroup() { + return clientWorkGroup; + } } diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/HttpClientProxyClientProxyTypeAdvanced.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/HttpClientProxyClientProxyTypeAdvanced.java index 05fce5f3..cbe0702b 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/HttpClientProxyClientProxyTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/HttpClientProxyClientProxyTypeAdvanced.java @@ -2,10 +2,7 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.advanced; import io.netty.bootstrap.Bootstrap; import io.netty.buffer.ByteBuf; -import io.netty.channel.Channel; -import io.netty.channel.ChannelFuture; -import io.netty.channel.ChannelFutureListener; -import io.netty.channel.ChannelInitializer; +import io.netty.channel.*; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioSocketChannel; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -26,11 +23,12 @@ public class HttpClientProxyClientProxyTypeAdvanced extends AbstractHttpClientPr /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); String targetPortString = nettyProxyMsg.getTargetPortString(); String targetIpString = nettyProxyMsg.getTargetIpString(); Bootstrap b = new Bootstrap(); @@ -56,7 +54,7 @@ public class HttpClientProxyClientProxyTypeAdvanced extends AbstractHttpClientPr buf.writeBytes(nettyProxyMsg.getData()); proxyChannel.writeAndFlush(buf); } else { - channel.close(); + channelHandlerContext.close(); } }); } diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/HttpProtocolHandleChannelLocalProxyTypeAdvanced.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/HttpProtocolHandleChannelLocalProxyTypeAdvanced.java index d889479c..171bbcec 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/HttpProtocolHandleChannelLocalProxyTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/HttpProtocolHandleChannelLocalProxyTypeAdvanced.java @@ -2,10 +2,7 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.advanced; import io.netty.bootstrap.Bootstrap; import io.netty.buffer.ByteBuf; -import io.netty.channel.Channel; -import io.netty.channel.ChannelFuture; -import io.netty.channel.ChannelFutureListener; -import io.netty.channel.ChannelInitializer; +import io.netty.channel.*; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioSocketChannel; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -26,14 +23,15 @@ public class HttpProtocolHandleChannelLocalProxyTypeAdvanced extends AbstractHtt /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { String targetPortString = nettyProxyMsg.getTargetPortString(); String targetIpString = nettyProxyMsg.getTargetIpString(); Bootstrap b = new Bootstrap(); + Channel channel = channelHandlerContext.channel(); b.group(channel.eventLoop()) .channel(NioSocketChannel.class) .handler(new ChannelInitializer() { diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/NettySocketProtocolHandleSocketLocalProxyTypeAdvanced.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/NettySocketProtocolHandleSocketLocalProxyTypeAdvanced.java new file mode 100644 index 00000000..118f4178 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/NettySocketProtocolHandleSocketLocalProxyTypeAdvanced.java @@ -0,0 +1,70 @@ +package org.framework.lazy.cloud.network.heartbeat.protocol.advanced; + +import io.netty.bootstrap.Bootstrap; +import io.netty.channel.*; +import io.netty.channel.socket.SocketChannel; +import io.netty.channel.socket.nio.NioSocketChannel; +import io.netty.handler.codec.socksx.v5.DefaultSocks5CommandResponse; +import io.netty.handler.codec.socksx.v5.Socks5AddressType; +import io.netty.handler.codec.socksx.v5.Socks5CommandRequestDecoder; +import io.netty.handler.codec.socksx.v5.Socks5CommandStatus; +import lombok.extern.slf4j.Slf4j; +import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.socket.AbstractHandleSocketLocalProxyTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.factory.EventLoopGroupFactory; +import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettyClient2DestInboundHandler; +import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettyDest2ClientInboundHandler; +import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocks5CommandRequestHandler; +import org.springframework.stereotype.Component; + +import java.net.InetSocketAddress; + +@Slf4j +@Component +public class NettySocketProtocolHandleSocketLocalProxyTypeAdvanced + extends AbstractHandleSocketLocalProxyTypeAdvanced { + /** + * 处理当前数据 + * + * @param ctx 当前通道 + * @param nettyProxyMsg 通道数据 + */ + @Override + protected void doHandler(ChannelHandlerContext ctx, NettyProxyMsg nettyProxyMsg) { + EventLoopGroup group = EventLoopGroupFactory.createClientWorkGroup(); + String host = nettyProxyMsg.getTargetIpString(); + Integer port = Integer.parseInt(nettyProxyMsg.getTargetPortString()); + Bootstrap b = new Bootstrap(); + Socks5AddressType socks5AddressType=Socks5AddressType.IPv4; + + b.group(group) + .channel(NioSocketChannel.class) + .option(ChannelOption.TCP_NODELAY, true) + .handler(new ChannelInitializer() { + @Override + protected void initChannel(SocketChannel ch) throws Exception { + ch.pipeline().addLast(new NettyDest2ClientInboundHandler(ctx)); + } + }); + log.info("准备连接目标服务器,ip={},port={}", host, port); + ChannelFuture f = b.connect(new InetSocketAddress(host, port)); + f.addListener((ChannelFutureListener) future -> { + if (future.isSuccess()) { + log.info("目标服务器连接成功"); + //添加客户端转发请求到服务端的Handler + ctx.pipeline().addLast(new NettyClient2DestInboundHandler(future)); + DefaultSocks5CommandResponse commandResponse = new DefaultSocks5CommandResponse(Socks5CommandStatus.SUCCESS, socks5AddressType); + ctx.writeAndFlush(commandResponse); + ctx.pipeline().remove(NettySocks5CommandRequestHandler.class); + ctx.pipeline().remove(Socks5CommandRequestDecoder.class); + } else { + log.error("连接目标服务器失败,address={},port={}", host, port); + DefaultSocks5CommandResponse commandResponse = new DefaultSocks5CommandResponse(Socks5CommandStatus.FAILURE, socks5AddressType); + ctx.writeAndFlush(commandResponse); + future.channel().close(); + } + + }); + + } +} diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyUdpProxySocketApplicationListener.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyUdpProxySocketApplicationListener.java deleted file mode 100644 index 8523054a..00000000 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyUdpProxySocketApplicationListener.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.framework.lazy.cloud.network.heartbeat.protocol.context; - -import io.netty.bootstrap.Bootstrap; -import io.netty.channel.*; -import io.netty.channel.nio.NioEventLoopGroup; -import io.netty.channel.socket.nio.NioDatagramChannel; -import jakarta.annotation.PreDestroy; -import lombok.extern.slf4j.Slf4j; -import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelTypeAdapter; -import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; -import org.framework.lazy.cloud.network.heartbeat.common.context.SocketApplicationListener; -import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettyUdpProxyHandler; -import org.framework.lazy.cloud.network.heartbeat.protocol.properties.ProtocolProxyProperties; -import org.springframework.stereotype.Component; - -import java.util.List; - -@Slf4j -@Component -public class NettyUdpProxySocketApplicationListener implements SocketApplicationListener { - - private final EventLoopGroup bossGroup = new NioEventLoopGroup(); - private ChannelFuture channelFuture; - private final ProtocolProxyProperties protocolProxyProperties; - private final List handleChannelTypeAdvancedList; - - public NettyUdpProxySocketApplicationListener(ProtocolProxyProperties protocolProxyProperties, - List handleChannelTypeAdvancedList) { - this.protocolProxyProperties = protocolProxyProperties; - this.handleChannelTypeAdvancedList = handleChannelTypeAdvancedList; - } - - - /** - * 运行 - * - * @throws InterruptedException - */ - @Override - public void doRunning() throws Exception { - try { - ChannelTypeAdapter channelTypeAdapter = new ChannelTypeAdapter(handleChannelTypeAdvancedList); - NettyUdpProxyHandler nettyUdpProxyHandler = new NettyUdpProxyHandler(channelTypeAdapter);// 通道业务处理 - - ProtocolProxyProperties.UdpProtocolProxy udpProtocolProxy = protocolProxyProperties.getUdpProtocolProxy(); - Integer udpProtocolProxyPort = udpProtocolProxy.getPort(); - Bootstrap b = new Bootstrap(); - b.group(bossGroup) - .channel(NioDatagramChannel.class) - // 给服务端channel设置属性 - // 设置读缓冲区为2M - .option(ChannelOption.SO_RCVBUF, 2048 * 1024) - // 设置写缓冲区为1M - .option(ChannelOption.SO_SNDBUF, 1024 * 1024) - - .option(ChannelOption.SO_KEEPALIVE, true) -// .childOption(ChannelOption.TCP_NODELAY, false) - .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 1000 * 60)//连接超时时间设置为 60 秒 -// .childOption(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT - .option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2)) - - .handler(nettyUdpProxyHandler); - channelFuture = b.bind(udpProtocolProxyPort).sync(); - - channelFuture.addListener((ChannelFutureListener) channelFuture -> { - // 服务器已启动 - log.info("UDP 协议代理 服务器启动成功【{}】",udpProtocolProxyPort); - }); - channelFuture.channel().closeFuture().sync(); - } catch (Exception e) { - log.error("启动UDP 协议代理 失败", e); - } finally { - destroy(); - // 服务器已关闭 - log.warn("UDP 协议代理 服务关闭"); - } - } - - @PreDestroy - @Override - public void destroy() throws Exception { - if (channelFuture != null) { - channelFuture.channel().close().syncUninterruptibly(); - } - if (!bossGroup.isShutdown()) { - bossGroup.shutdownGracefully(); - } - } -} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/filter/NettyHttpProxyFilter.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/filter/NettyHttpProxyFilter.java index a78254ba..472154ef 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/filter/NettyHttpProxyFilter.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/filter/NettyHttpProxyFilter.java @@ -32,7 +32,6 @@ public class NettyHttpProxyFilter extends DebugChannelInitializer // 类型处理器适配器 ChannelTypeAdapter channelTypeAdapter = new ChannelTypeAdapter(handleChannelTypeAdvancedList); -// pipeline.addLast(new HttpClientCodec()); pipeline.addLast(new HttpRequestDecoder()); pipeline.addLast(new HttpObjectAggregator(1048576)); pipeline.addLast("doHandler", new NettyHttpProxyHandler(channelTypeAdapter));// 服务端业务逻辑 diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/filter/NettyTcpProxyFilter.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/filter/NettyTcpProxyFilter.java index d17cbe4b..06ca5408 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/filter/NettyTcpProxyFilter.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/filter/NettyTcpProxyFilter.java @@ -1,13 +1,17 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.filter; import io.netty.channel.ChannelPipeline; +import io.netty.channel.EventLoopGroup; import io.netty.channel.socket.SocketChannel; -import io.netty.handler.codec.http.HttpClientCodec; -import io.netty.handler.codec.http.HttpObjectAggregator; +import io.netty.handler.codec.socksx.v5.Socks5CommandRequestDecoder; +import io.netty.handler.codec.socksx.v5.Socks5InitialRequestDecoder; +import io.netty.handler.codec.socksx.v5.Socks5ServerEncoder; import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelTypeAdapter; import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced; +import org.framework.lazy.cloud.network.heartbeat.common.factory.EventLoopGroupFactory; import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer; -import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettyTcpProxyHandler; +import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocks5CommandRequestHandler; +import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocks5InitialRequestHandler; import org.springframework.stereotype.Component; import java.util.List; @@ -31,7 +35,24 @@ public class NettyTcpProxyFilter extends DebugChannelInitializer ChannelPipeline pipeline = ch.pipeline(); // 类型处理器适配器 ChannelTypeAdapter channelTypeAdapter = new ChannelTypeAdapter(handleChannelTypeAdvancedList); - pipeline.addLast("doHandler", new NettyTcpProxyHandler(channelTypeAdapter));// 服务端业务逻辑 + + + //socks5响应最后一个encode + pipeline.addLast(Socks5ServerEncoder.DEFAULT); + // 初始化连接 + pipeline.addLast(new Socks5InitialRequestDecoder()); + pipeline.addLast(new NettySocks5InitialRequestHandler()); + + + // 认证 + // ch.pipeline().addLast(new Socks5PasswordAuthRequestDecoder()); + // ch.pipeline().addLast(new Socks5PasswordAuthRequestInboundHandler()); + + EventLoopGroup clientWorkGroup = EventLoopGroupFactory.createClientWorkGroup(); + + // 连接请求 + pipeline.addLast(new Socks5CommandRequestDecoder()); + pipeline.addLast(new NettySocks5CommandRequestHandler(channelTypeAdapter)); diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyClient2DestInboundHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyClient2DestInboundHandler.java new file mode 100644 index 00000000..1ff3878a --- /dev/null +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyClient2DestInboundHandler.java @@ -0,0 +1,53 @@ +package org.framework.lazy.cloud.network.heartbeat.protocol.handler; + + +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; +import io.netty.util.ReferenceCountUtil; +import lombok.extern.slf4j.Slf4j; + + +@Slf4j +public class NettyClient2DestInboundHandler extends ChannelInboundHandlerAdapter { + + private final ChannelFuture dstChannelFuture; + + public NettyClient2DestInboundHandler(ChannelFuture dstChannelFuture) { + this.dstChannelFuture = dstChannelFuture; + } + + @Override + public void channelActive(ChannelHandlerContext ctx) { + ctx.writeAndFlush(Unpooled.EMPTY_BUFFER); + } + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + log.info("转发客户端的请求到代理服务器"); + if (dstChannelFuture.channel().isActive()) { + dstChannelFuture.channel().writeAndFlush(msg); + } else { + log.info("释放内存"); + ReferenceCountUtil.release(msg); + } + } + + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + log.info("客户端与代理服务器的连接已经断开,即将断开代理服务器和目标服务器的连接"); + if (dstChannelFuture.channel().isActive()) { + if (ctx.channel().isActive()) { + ctx.channel().writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE); + } + } + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { + log.error("NettyClient2DestInboundHandler exception", cause); + ctx.close(); + } +} diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyDest2ClientInboundHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyDest2ClientInboundHandler.java new file mode 100644 index 00000000..82c18c21 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyDest2ClientInboundHandler.java @@ -0,0 +1,49 @@ +package org.framework.lazy.cloud.network.heartbeat.protocol.handler; + +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; +import io.netty.util.ReferenceCountUtil; +import lombok.extern.slf4j.Slf4j; + + +@Slf4j +public class NettyDest2ClientInboundHandler extends ChannelInboundHandlerAdapter { + + private final ChannelHandlerContext clientChannelHandlerContext; + + public NettyDest2ClientInboundHandler(ChannelHandlerContext clientChannelHandlerContext) { + this.clientChannelHandlerContext = clientChannelHandlerContext; + } + + @Override + public void channelActive(ChannelHandlerContext ctx) { + ctx.writeAndFlush(Unpooled.EMPTY_BUFFER); + } + + @Override + public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + log.trace("开始写回客户端数据"); + if (clientChannelHandlerContext.channel().isActive()) { + clientChannelHandlerContext.writeAndFlush(msg); + } else { + log.info("释放内存"); + ReferenceCountUtil.release(msg); + } + } + + @Override + public void channelInactive(ChannelHandlerContext ctx) throws Exception { + log.trace("代理服务器和目标服务器的连接已经断开,即将断开客户端和代理服务器的连接"); + if (clientChannelHandlerContext.channel().isActive()) { + clientChannelHandlerContext.channel().writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE); + } + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { + log.error("NettyDest2ClientInboundHandler exception", cause); + ctx.close(); + } +} diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyHttpProxyHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyHttpProxyHandler.java index 7bb7b69a..8e69bbd2 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyHttpProxyHandler.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyHttpProxyHandler.java @@ -106,7 +106,7 @@ public class NettyHttpProxyHandler extends ChannelInboundHandlerAdapter { proxyMsg.setType(ProxyMessageType.HTTP_SERVER_PROXY_CLIENT_); } } - channelTypeAdapter.handler(ctx.channel(), proxyMsg); + channelTypeAdapter.handler(ctx, proxyMsg); // 判断是否被路由 } else { diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5CommandRequestHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5CommandRequestHandler.java new file mode 100644 index 00000000..0f83c5c2 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5CommandRequestHandler.java @@ -0,0 +1,93 @@ +package org.framework.lazy.cloud.network.heartbeat.protocol.handler; + +import io.netty.channel.*; +import io.netty.channel.socket.nio.NioDatagramChannel; +import io.netty.channel.socket.nio.NioSocketChannel; +import io.netty.handler.codec.socksx.v5.*; +import io.netty.util.ReferenceCountUtil; +import lombok.extern.slf4j.Slf4j; +import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; +import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.lazy.cloud.network.heartbeat.common.constant.ProxyMessageType; +import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.framework.lazy.cloud.network.heartbeat.protocol.route.ClientProxyRoute; +import org.framework.lazy.cloud.network.heartbeat.protocol.route.ProxyRoute; +import org.framework.lazy.cloud.network.heartbeat.protocol.route.RouteContext; +import org.framework.lazy.cloud.network.heartbeat.protocol.route.RouteType; +import org.wu.framework.core.utils.ObjectUtils; + +import java.util.UUID; + +@Slf4j +public class NettySocks5CommandRequestHandler extends SimpleChannelInboundHandler { + private final ChannelTypeAdapter channelTypeAdapter; + + public NettySocks5CommandRequestHandler(ChannelTypeAdapter channelTypeAdapter) { + this.channelTypeAdapter = channelTypeAdapter; + } + + + @Override + public void channelActive(ChannelHandlerContext ctx) throws Exception { + Channel channel = ctx.channel(); + if (channel instanceof NioSocketChannel) { + System.out.println("这是一个TCP通道"); + } else if (channel instanceof NioDatagramChannel) { + System.out.println("这是一个UDP通道"); + } else { + System.out.println("未知类型的通道"); + } + String visitorId = UUID.randomUUID().toString(); + ChannelAttributeKeyUtils.buildVisitorId(channel, visitorId); + super.channelActive(ctx); + } + + @Override + protected void channelRead0(ChannelHandlerContext ctx, Socks5CommandRequest request) throws Exception { + if (request.type() == Socks5CommandType.CONNECT) { + + String host = request.dstAddr(); + int port = request.dstPort(); + Socks5AddressType socks5AddressType = request.dstAddrType(); + String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel()); + NettyProxyMsg proxyMsg = new NettyProxyMsg(); + + proxyMsg.setVisitorId(visitorId); + proxyMsg.setClientTargetIp(host); + proxyMsg.setClientTargetPort(port); + + ProxyRoute route = RouteContext.getRoute(host, String.valueOf(port)); + if(ObjectUtils.isEmpty(route)){ + proxyMsg.setType(ProxyMessageType.SOCKET_LOCAL_PROXY); + }else { + if(RouteType.LOCAL.equals(route.getRouteType())){ + proxyMsg.setType(ProxyMessageType.SOCKET_LOCAL_PROXY); + }else if (RouteType.CLIENT_PROXY_CLIENT.equals(route.getRouteType())){ + ClientProxyRoute clientProxyRoute= (ClientProxyRoute) route; + String clientId = clientProxyRoute.getClientId(); + proxyMsg.setClientId(clientId); + proxyMsg.setType(ProxyMessageType.SOCKET_CLIENT_PROXY_CLIENT_); + }else if (RouteType.CLIENT_PROXY_SEVER.equals(route.getRouteType())){ + proxyMsg.setType(ProxyMessageType.SOCKET_CLIENT_PROXY_SERVER_); + }else if (RouteType.SERVER_PROXY_CLIENT.equals(route.getRouteType())){ + ClientProxyRoute clientProxyRoute= (ClientProxyRoute) route; + String clientId = clientProxyRoute.getClientId(); + proxyMsg.setClientId(clientId); + proxyMsg.setType(ProxyMessageType.SOCKET_SERVER_PROXY_CLIENT_); + } + } + channelTypeAdapter.handler(ctx, proxyMsg); + + } else { + log.info("receive commandRequest type={}", request.type()); + ReferenceCountUtil.retain(request); + ctx.fireChannelRead(request); + } + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { + cause.printStackTrace(); + ctx.close(); + } +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5InitialRequestHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5InitialRequestHandler.java new file mode 100644 index 00000000..5bbf48f6 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5InitialRequestHandler.java @@ -0,0 +1,34 @@ +package org.framework.lazy.cloud.network.heartbeat.protocol.handler; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; +import io.netty.handler.codec.socksx.v5.*; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class NettySocks5InitialRequestHandler extends SimpleChannelInboundHandler { + @Override + protected void channelRead0(ChannelHandlerContext ctx, Socks5InitialRequest msg) throws Exception { + boolean failure = msg.decoderResult().isFailure(); + if (failure) { + log.error("初始化socks5失败,请检查是否是socks5协议"); +// ReferenceCountUtil.retain(msg); + ctx.fireChannelRead(msg); + return; + } + log.info("初始化socket连接"); + + // 不验证账号密码 + Socks5InitialResponse socks5InitialResponse = new DefaultSocks5InitialResponse(Socks5AuthMethod.NO_AUTH); + ctx.writeAndFlush(socks5InitialResponse); + + ctx.pipeline().remove(this); + ctx.pipeline().remove(Socks5InitialRequestDecoder.class); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { + cause.printStackTrace(); + ctx.close(); + } +} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyUdpProxyBackendHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyUdpProxyBackendHandler.java deleted file mode 100644 index db092977..00000000 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyUdpProxyBackendHandler.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.framework.lazy.cloud.network.heartbeat.protocol.handler; - -import io.netty.channel.Channel; -import io.netty.channel.ChannelHandlerContext; -import io.netty.channel.SimpleChannelInboundHandler; -import io.netty.channel.socket.DatagramPacket; - -import java.net.InetSocketAddress; - - -public class NettyUdpProxyBackendHandler extends SimpleChannelInboundHandler { - private final Channel inboundChannel; - private final InetSocketAddress clientAddress; - - public NettyUdpProxyBackendHandler(Channel inboundChannel, InetSocketAddress clientAddress) { - this.inboundChannel = inboundChannel; - this.clientAddress = clientAddress; - } - - @Override - protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket packet) throws Exception { - inboundChannel.writeAndFlush(new DatagramPacket(packet.content().retain(), clientAddress)); - ctx.channel().close(); - } - - @Override - public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { - cause.printStackTrace(); - ctx.close(); - } -} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyUdpProxyHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyUdpProxyHandler.java deleted file mode 100644 index 3cc4558f..00000000 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyUdpProxyHandler.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.framework.lazy.cloud.network.heartbeat.protocol.handler; - -import io.netty.bootstrap.Bootstrap; -import io.netty.channel.Channel; -import io.netty.channel.ChannelHandlerContext; -import io.netty.channel.SimpleChannelInboundHandler; -import io.netty.channel.socket.DatagramPacket; -import io.netty.channel.socket.nio.NioDatagramChannel; -import lombok.extern.slf4j.Slf4j; -import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelTypeAdapter; - -import java.net.InetSocketAddress; - -/** - * description 服务端数据处理器 - * - * @author 吴佳伟 - * @date 2023/09/13 10:27 - */ -@Slf4j -public class NettyUdpProxyHandler extends SimpleChannelInboundHandler { - - private final ChannelTypeAdapter channelTypeAdapter; - private InetSocketAddress targetAddress = new InetSocketAddress("example.com", 80); - - public NettyUdpProxyHandler(ChannelTypeAdapter channelTypeAdapter) { - this.channelTypeAdapter = channelTypeAdapter; - } - - @Override - protected void channelRead0(ChannelHandlerContext ctx, DatagramPacket packet) throws Exception { - Bootstrap b = new Bootstrap(); - b.group(ctx.channel().eventLoop()) - .channel(NioDatagramChannel.class) - .handler(new NettyUdpProxyBackendHandler(ctx.channel(), packet.sender())); - - Channel channel = b.bind(0).sync().channel(); - channel.writeAndFlush(new DatagramPacket(packet.content().retain(), targetAddress)); - } - - @Override - public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { - cause.printStackTrace(); - ctx.close(); - } -} \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/init/InitProtocolProxySocket.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/init/InitProtocolProxySocket.java index 40fc9e7a..d1b17fb1 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/init/InitProtocolProxySocket.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/init/InitProtocolProxySocket.java @@ -4,7 +4,6 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.init; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.protocol.context.NettyHttpProxySocketApplicationListener; import org.framework.lazy.cloud.network.heartbeat.protocol.context.NettyTcpProxySocketApplicationListener; -import org.framework.lazy.cloud.network.heartbeat.protocol.context.NettyUdpProxySocketApplicationListener; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -18,8 +17,7 @@ import org.springframework.context.annotation.Import; @Slf4j @Configuration @Import({NettyHttpProxySocketApplicationListener.class, - NettyTcpProxySocketApplicationListener.class, - NettyUdpProxySocketApplicationListener.class}) + NettyTcpProxySocketApplicationListener.class}) public class InitProtocolProxySocket { diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Dest2ClientInboundHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Dest2ClientInboundHandler.java index 9ccc7707..f51e7c8a 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Dest2ClientInboundHandler.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Dest2ClientInboundHandler.java @@ -1,6 +1,5 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.socket5; -import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpChannelHeartbeatTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpChannelHeartbeatTypeAdvanced.java index 4b16f563..963bf35b 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpChannelHeartbeatTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpChannelHeartbeatTypeAdvanced.java @@ -1,7 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.AbstractTcpHandleChannelHeartbeatTypeAdvanced; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Role; @@ -21,14 +21,14 @@ public class ServerHandleTcpChannelHeartbeatTypeAdvanced extends AbstractTcpHand /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg msg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { NettyProxyMsg hb = new NettyProxyMsg(); hb.setType(TcpMessageType.TCP_TYPE_HEARTBEAT); - channel.writeAndFlush(hb); + channelHandlerContext.writeAndFlush(hb); } diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpClientConnectSuccessTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpClientConnectSuccessTypeAdvanced.java index efc07e11..6c9cdbed 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpClientConnectSuccessTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpClientConnectSuccessTypeAdvanced.java @@ -3,6 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.adv import com.alibaba.fastjson.JSON; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.ChannelContext; import org.framework.lazy.cloud.network.heartbeat.common.constant.ProxyMessageType; @@ -71,13 +72,13 @@ public class ServerHandleTcpClientConnectSuccessTypeAdvanced extends AbstractHan /** * 处理当前数据 * - * @param newChannel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - public void doHandler(Channel newChannel, NettyProxyMsg msg) { - + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { + Channel newChannel = channelHandlerContext.channel(); String clientId = msg.getClientIdString(); String appKey = msg.getAppKeyString(); String appSecret = msg.getAppSecretString(); @@ -136,7 +137,7 @@ public class ServerHandleTcpClientConnectSuccessTypeAdvanced extends AbstractHan }else { // 关闭通道 log.warn("无法认证客户端:【{}】",clientId); - newChannel.close(); + channelHandlerContext.close(); } @@ -161,7 +162,7 @@ public class ServerHandleTcpClientConnectSuccessTypeAdvanced extends AbstractHan nettyMsg.setClientTargetIp(permeateTargetIp); nettyMsg.setClientTargetPort(permeateTargetPort); nettyMsg.setVisitorPort(visitorPort); - newChannel.writeAndFlush(nettyMsg); + channelHandlerContext.writeAndFlush(nettyMsg); } }); @@ -185,7 +186,7 @@ public class ServerHandleTcpClientConnectSuccessTypeAdvanced extends AbstractHan nettyMsg.setVisitorPort(visitorPort); nettyMsg.setClientId(clientId); nettyMsg.setData(toClientId.getBytes(StandardCharsets.UTF_8)); - newChannel.writeAndFlush(nettyMsg); + channelHandlerContext.writeAndFlush(nettyMsg); } }); // 下发服务端路由 @@ -205,7 +206,7 @@ public class ServerHandleTcpClientConnectSuccessTypeAdvanced extends AbstractHan nettyMsg.setType(ProxyMessageType.HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_SERVER_ROUTE_); nettyMsg.setData((JSON.toJSONString(serverProxyRoute) .getBytes(StandardCharsets.UTF_8))); - newChannel.writeAndFlush(nettyMsg); + channelHandlerContext.writeAndFlush(nettyMsg); } }); @@ -228,7 +229,7 @@ public class ServerHandleTcpClientConnectSuccessTypeAdvanced extends AbstractHan nettyMsg.setType(ProxyMessageType.HTTP_DISTRIBUTE_CLIENT_PROXY_SERVER_CLIENT_ROUTE_); nettyMsg.setData((JSON.toJSONString(clientProxyRoute) .getBytes(StandardCharsets.UTF_8))); - newChannel.writeAndFlush(nettyMsg); + channelHandlerContext.writeAndFlush(nettyMsg); } }); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateClientCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateClientCloseTypeAdvanced.java index 85574fff..be3656ad 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateClientCloseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateClientCloseTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.server.AbstractHandleTcpReportClientPermeateClientCloseTypeAdvanced; @@ -21,12 +22,13 @@ public class ServerHandleTcpReportClientPermeateClientCloseTypeAdvanced extends /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { // 关闭 next、next transfer 通道 + Channel channel = channelHandlerContext.channel(); Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(channel); Channel transferNextChannel = ChannelAttributeKeyUtils.getTransferNextChannel(channel); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateClientTransferCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateClientTransferCloseTypeAdvanced.java index 431661b6..d3a20f1a 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateClientTransferCloseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateClientTransferCloseTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -22,13 +23,13 @@ public class ServerHandleTcpReportClientPermeateClientTransferCloseTypeAdvanced /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { // 关闭 next、next transfer 通道 - + Channel channel = channelHandlerContext.channel(); Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(channel); Channel transferNextChannel = ChannelAttributeKeyUtils.getTransferNextChannel(channel); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateServerTransferCloseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateServerTransferCloseTypeAdvanced.java index 032f5d34..04bf5191 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateServerTransferCloseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateServerTransferCloseTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.server.AbstractHandleTcpReportClientPermeateServerTransferCloseTypeAdvanced; @@ -19,11 +20,12 @@ public class ServerHandleTcpReportClientPermeateServerTransferCloseTypeAdvanced /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); // 关闭传输通信通道 Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(channel); nextChannel.close(); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateServerTransferTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateServerTransferTypeAdvanced.java index fbabd1cd..a460930a 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateServerTransferTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientPermeateServerTransferTypeAdvanced.java @@ -3,6 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.adv import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelFlowAdapter; @@ -31,11 +32,12 @@ public class ServerHandleTcpReportClientPermeateServerTransferTypeAdvanced exten /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg msg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { + Channel channel = channelHandlerContext.channel(); String clientId = new String(msg.getClientId()); Integer visitorPort = Integer.valueOf(new String(msg.getVisitorPort())); byte[] visitorId = msg.getVisitorId(); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced.java index fe26c253..37952df0 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.*; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.server.AbstractHandleTcpReportClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced; @@ -20,11 +21,12 @@ public class ServerHandleTcpReportClientTransferClientPermeateChannelConnectionS /** * 处理当前数据 * - * @param transferChannel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel transferChannel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel transferChannel = channelHandlerContext.channel(); // 创建目标地址连接 byte[] msgVisitorId = nettyProxyMsg.getVisitorId(); byte[] msgVisitorPort = nettyProxyMsg.getVisitorPort(); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java index 83796027..72d6e088 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -21,11 +22,12 @@ public class ServerHandleTcpReportClientTransferClientPermeateChannelInitSuccess /** * 处理当前数据 * - * @param transferChannel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel transferChannel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel transferChannel = channelHandlerContext.channel(); // 创建目标地址连接 byte[] msgVisitorId = nettyProxyMsg.getVisitorId(); byte[] msgVisitorPort = nettyProxyMsg.getVisitorPort(); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientResponseTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientResponseTypeAdvanced.java index 93866773..8c532344 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientResponseTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientResponseTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -24,11 +25,12 @@ public class ServerHandleTcpReportClientTransferClientResponseTypeAdvanced exten /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); // 创建目标地址连接 byte[] msgVisitorId = nettyProxyMsg.getVisitorId(); byte[] msgVisitorPort = nettyProxyMsg.getVisitorPort(); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientTypeAdvanced.java index 2ebde001..59e845b7 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferClientTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; @@ -24,11 +25,12 @@ public class ServerHandleTcpReportClientTransferClientTypeAdvanced extends Abstr /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel channel = channelHandlerContext.channel(); // 创建目标地址连接 byte[] msgVisitorId = nettyProxyMsg.getVisitorId(); byte[] msgVisitorPort = nettyProxyMsg.getVisitorPort(); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced.java index 7d6e7301..90411682 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.server.AbstractHandleTcpReportClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; @@ -18,11 +19,12 @@ public class ServerHandleTcpReportClientTransferServerPermeateChannelConnectionS /** * 处理当前数据 * - * @param transferChannel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel transferChannel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel transferChannel = channelHandlerContext.channel(); // 创建目标地址连接 byte[] msgVisitorId = nettyProxyMsg.getVisitorId(); byte[] msgVisitorPort = nettyProxyMsg.getVisitorPort(); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClusterNodeRegisterTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClusterNodeRegisterTypeAdvanced.java index 04dbe1e2..0ecc2ca4 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClusterNodeRegisterTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportClusterNodeRegisterTypeAdvanced.java @@ -1,6 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.server.AbstractHandleTcpReportClusterNodeRegisterTypeAdvanced; @@ -26,11 +26,11 @@ public class ServerHandleTcpReportClusterNodeRegisterTypeAdvanced extends /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { log.info("node register and me start scan node config"); // 本地扫描节点配置重新注册 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportDisconnectTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportDisconnectTypeAdvanced.java index 1ea97fb8..fa6ae1c4 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportDisconnectTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportDisconnectTypeAdvanced.java @@ -2,6 +2,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.adv import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.ChannelContext; import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType; @@ -38,11 +39,12 @@ public class ServerHandleTcpReportDisconnectTypeAdvanced extends AbstractHandleT /** * 处理当前数据 * - * @param deathChannel 关闭的通道 + * @param channelHandlerContext 关闭的通道 * @param msg 通道数据 */ @Override - public void doHandler(Channel deathChannel, NettyProxyMsg msg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { + Channel deathChannel = channelHandlerContext.channel(); // 关闭连接通知 String clientId = msg.getClientIdString(); log.warn("close client :{} channel", clientId); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientCloseVisitorTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientCloseVisitorTypeAdvanced.java index 2f4a26ef..3fbe8df7 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientCloseVisitorTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientCloseVisitorTypeAdvanced.java @@ -1,6 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; -import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Role; @@ -22,11 +22,11 @@ public class ServerHandleTcpReportServicePermeateClientCloseVisitorTypeAdvanced /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { // 关闭访客通道 byte[] visitorId = nettyProxyMsg.getVisitorId(); NettyCommunicationIdContext.clear(visitorId); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientRealConnectTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientRealConnectTypeAdvanced.java index fbabde7c..c257e075 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientRealConnectTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientRealConnectTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelOption; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.config.BeanDefinition; @@ -23,11 +24,12 @@ public class ServerHandleTcpReportServicePermeateClientRealConnectTypeAdvanced e /** * 处理当前数据 * - * @param transferChannel 当前通道 + * @param channelHandlerContext 当前通道 * @param nettyProxyMsg 通道数据 */ @Override - protected void doHandler(Channel transferChannel, NettyProxyMsg nettyProxyMsg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg nettyProxyMsg) { + Channel transferChannel = channelHandlerContext.channel(); // 客户端绑定端口成功 byte[] clientId = nettyProxyMsg.getClientId(); byte[] clientTargetIp = nettyProxyMsg.getClientTargetIp(); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientTransferTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientTransferTypeAdvanced.java index 9be6e44e..2e910829 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientTransferTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportServicePermeateClientTransferTypeAdvanced.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.adv import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext; @@ -35,11 +36,12 @@ public class ServerHandleTcpReportServicePermeateClientTransferTypeAdvanced exte /** * 处理当前数据 * - * @param channel 当前通道 + * @param channelHandlerContext 当前通道 * @param msg 通道数据 */ @Override - public void doHandler(Channel channel, NettyProxyMsg msg) { + public void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { + Channel channel = channelHandlerContext.channel(); String clientId = new String(msg.getClientId()); Integer visitorPort = Integer.valueOf(new String(msg.getVisitorPort())); byte[] visitorId = msg.getVisitorId(); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportStagingClosedTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportStagingClosedTypeAdvanced.java index c992edfb..18a5fd58 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportStagingClosedTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportStagingClosedTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyClientStatsChangeApplication; @@ -32,12 +33,12 @@ public class ServerHandleTcpReportStagingClosedTypeAdvanced extends AbstractHand /** * 处理当前数据 * - * @param stagingClosedChannel 关闭暂存的通道 + * @param channelHandlerContext 关闭暂存的通道 * @param msg 通道数据 */ @Override - protected void doHandler(Channel stagingClosedChannel, NettyProxyMsg msg) { - + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { + Channel stagingClosedChannel = channelHandlerContext.channel(); String appKey = ChannelAttributeKeyUtils.getAppKey(stagingClosedChannel); String appSecret = ChannelAttributeKeyUtils.getAppSecret(stagingClosedChannel); String originalIp = ChannelAttributeKeyUtils.getOriginalIp(stagingClosedChannel); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportStagingOpenedTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportStagingOpenedTypeAdvanced.java index 13bf5a55..196a02e7 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportStagingOpenedTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/advanced/ServerHandleTcpReportStagingOpenedTypeAdvanced.java @@ -1,6 +1,7 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.advanced; import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.ChannelContext; import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType; @@ -34,11 +35,12 @@ public class ServerHandleTcpReportStagingOpenedTypeAdvanced extends AbstractHand /** * 处理当前数据 * - * @param stagingOpenedChannel 开启暂存的通道 + * @param channelHandlerContext 开启暂存的通道 * @param msg 通道数据 */ @Override - protected void doHandler(Channel stagingOpenedChannel, NettyProxyMsg msg) { + protected void doHandler(ChannelHandlerContext channelHandlerContext, NettyProxyMsg msg) { + Channel stagingOpenedChannel = channelHandlerContext.channel(); // 获取所有通道 byte[] clientIdBytes = msg.getClientId(); String appKey = ChannelAttributeKeyUtils.getAppKey(stagingOpenedChannel); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/handler/NettyTcpServerHandler.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/handler/NettyTcpServerHandler.java index ced40925..82a11e05 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/handler/NettyTcpServerHandler.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/handler/NettyTcpServerHandler.java @@ -50,7 +50,7 @@ public class NettyTcpServerHandler extends SimpleChannelInboundHandler stagingOpenedClientChannel = ChannelContext.get(clientIdBytes); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/handler/NettyUdpServerHandler.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/handler/NettyUdpServerHandler.java index fd43671c..1ea34394 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/handler/NettyUdpServerHandler.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/handler/NettyUdpServerHandler.java @@ -50,7 +50,7 @@ public class NettyUdpServerHandler extends SimpleChannelInboundHandler