diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateClientRealSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateClientRealSocket.java index 2edc4b96..776667ab 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateClientRealSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateClientRealSocket.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; @@ -24,7 +25,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyTcpClientPermeateClientRealSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); public static void buildRealServer(String clientId, diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateClientVisitorTransferSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateClientVisitorTransferSocket.java index ed207a58..35454af2 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateClientVisitorTransferSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateClientVisitorTransferSocket.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; @@ -21,7 +22,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyTcpClientPermeateClientVisitorTransferSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 连接服务端通信通道 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateServerVisitorTransferSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateServerVisitorTransferSocket.java index fc512039..4e45bea4 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateServerVisitorTransferSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientPermeateServerVisitorTransferSocket.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; @@ -21,7 +22,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyTcpClientPermeateServerVisitorTransferSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 连接服务端通信通道 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientSocket.java index 01613df9..4541649f 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpClientSocket.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; @@ -26,7 +27,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyTcpClientSocket implements NettyClientSocket { - private final EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + private final EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 服务端host */ diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpServerPermeateClientRealSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpServerPermeateClientRealSocket.java index f1439ad9..3da2b915 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpServerPermeateClientRealSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/tcp/socket/NettyTcpServerPermeateClientRealSocket.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; @@ -24,7 +25,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyTcpServerPermeateClientRealSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 连接真实服务 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateClientRealSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateClientRealSocket.java index 20249e4e..3032eb71 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateClientRealSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateClientRealSocket.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; @@ -24,7 +25,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyUdpClientPermeateClientRealSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); public static void buildRealServer(String clientId, diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateClientVisitorTransferSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateClientVisitorTransferSocket.java index be9c53e1..8a494a6e 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateClientVisitorTransferSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateClientVisitorTransferSocket.java @@ -3,15 +3,15 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; -import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; 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.NettyClientPermeateClientVisitor; import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.filter.NettyUdpClientPermeateClientTransferFilter; -import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType; -import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyProxyMsg; +import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; import java.util.concurrent.TimeUnit; @@ -21,7 +21,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyUdpClientPermeateClientVisitorTransferSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 连接服务端通信通道 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateServerVisitorTransferSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateServerVisitorTransferSocket.java index fe6d99ba..c0a3dfac 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateServerVisitorTransferSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientPermeateServerVisitorTransferSocket.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; @@ -21,7 +22,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyUdpClientPermeateServerVisitorTransferSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 连接服务端通信通道 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientSocket.java index 82314858..c941a213 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpClientSocket.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioDatagramChannel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; @@ -26,7 +27,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyUdpClientSocket implements NettyClientSocket { - private final EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + private final EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 服务端host */ diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpServerPermeateClientRealSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpServerPermeateClientRealSocket.java index ae5d08d3..b01c11bf 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpServerPermeateClientRealSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/permeate/udp/socket/NettyUdpServerPermeateClientRealSocket.java @@ -3,7 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.soc import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; -import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; @@ -11,10 +11,10 @@ import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.filt import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.filter.NettyUdpServerPermeateClientTransferFilter; import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPenetrationRealClient; import org.framework.lazy.cloud.network.heartbeat.common.NettyCommunicationIdContext; -import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyProxyMsg; -import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType; 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.advanced.payload.NettyProxyMsg; +import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; import java.util.List; @@ -25,7 +25,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyUdpServerPermeateClientRealSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 连接真实服务 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpClientProxyClientRealSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpClientProxyClientRealSocket.java index 6a7a0c28..069a5167 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpClientProxyClientRealSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpClientProxyClientRealSocket.java @@ -4,6 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.socke import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; @@ -24,7 +25,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyHttpClientProxyClientRealSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); public static void buildRealServer(String clientId, diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpClientProxyServerProxySocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpClientProxyServerProxySocket.java index ce973333..c7b9af18 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpClientProxyServerProxySocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpClientProxyServerProxySocket.java @@ -3,14 +3,14 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.socke import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; -import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; import org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.NettyHttpClientProxyServer; import org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.filter.NettyHttpClientProxyServerProxyFilter; -import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelTypeAdapter; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.constant.ProxyMessageType; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; @@ -22,7 +22,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyHttpClientProxyServerProxySocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 连接服务端通信通道 diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpServerProxyClientRealSocket.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpServerProxyClientRealSocket.java index 09b2f010..42df52fc 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpServerProxyClientRealSocket.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/http/socket/NettyHttpServerProxyClientRealSocket.java @@ -5,6 +5,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.socke import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties; @@ -25,7 +26,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyHttpServerProxyClientRealSocket { - static EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + static EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); public static void buildRealServer(String clientId, diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/socks/advanced/ClientHandleDistributeSocksClientProxyClientConnectionTransferSuccessfulAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/socks/advanced/ClientHandleDistributeSocksClientProxyClientConnectionTransferSuccessfulAdvanced.java index 010cf5f1..41e42b56 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/socks/advanced/ClientHandleDistributeSocksClientProxyClientConnectionTransferSuccessfulAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/socks/advanced/ClientHandleDistributeSocksClientProxyClientConnectionTransferSuccessfulAdvanced.java @@ -12,6 +12,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyP import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.socks.client.AbstractHandleSocksDistributeClientProxyClientConnectionTransferSuccessTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.decoder.TransferDecoder; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelUtils; import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocks5CommandRequestHandler; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Role; @@ -47,7 +48,9 @@ public class ClientHandleDistributeSocksClientProxyClientConnectionTransferSucce DefaultSocks5CommandResponse commandResponse = new DefaultSocks5CommandResponse(Socks5CommandStatus.SUCCESS, socks5AddressType); nextChannel.writeAndFlush(commandResponse); - nextChannel.pipeline().remove(NettySocks5CommandRequestHandler.class); - nextChannel.pipeline().remove(Socks5CommandRequestDecoder.class); + + ChannelUtils.safeRemoveHandler(nextChannel,NettySocks5CommandRequestHandler.class); + ChannelUtils.safeRemoveHandler(nextChannel,Socks5CommandRequestDecoder.class); + } } diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/socks/advanced/ClientHandleDistributeSocksClientProxyServerConnectionTransferSuccessfulAdvanced.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/socks/advanced/ClientHandleDistributeSocksClientProxyServerConnectionTransferSuccessfulAdvanced.java index 9691a617..a6c357bb 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/socks/advanced/ClientHandleDistributeSocksClientProxyServerConnectionTransferSuccessfulAdvanced.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/proxy/socks/advanced/ClientHandleDistributeSocksClientProxyServerConnectionTransferSuccessfulAdvanced.java @@ -12,6 +12,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyP import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.socks.client.AbstractHandleSocksDistributeClientProxyServerConnectionTransferSuccessTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.decoder.TransferDecoder; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelUtils; import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocks5CommandRequestHandler; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Role; @@ -47,7 +48,8 @@ public class ClientHandleDistributeSocksClientProxyServerConnectionTransferSucce DefaultSocks5CommandResponse commandResponse = new DefaultSocks5CommandResponse(Socks5CommandStatus.SUCCESS, socks5AddressType); nextChannel.writeAndFlush(commandResponse); - nextChannel.pipeline().remove(NettySocks5CommandRequestHandler.class); - nextChannel.pipeline().remove(Socks5CommandRequestDecoder.class); + + ChannelUtils.safeRemoveHandler(nextChannel,NettySocks5CommandRequestHandler.class); + ChannelUtils.safeRemoveHandler(nextChannel,Socks5CommandRequestDecoder.class); } } 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 d6954f6a..b715bccf 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 @@ -1,15 +1,17 @@ package org.framework.lazy.cloud.network.heartbeat.common.factory; import io.netty.channel.EventLoopGroup; +import io.netty.channel.MultiThreadIoEventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; public class EventLoopGroupFactory { - private static final EventLoopGroup bossGroup = new NioEventLoopGroup(); - private static final EventLoopGroup workerGroup = new NioEventLoopGroup(); + private static final EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + private static final EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); // 客户端工作分组 - private static final EventLoopGroup clientWorkGroup = new NioEventLoopGroup(); + private static final EventLoopGroup clientWorkGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); public static EventLoopGroup createBossGroup(){ return bossGroup; diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/utils/ChannelUtils.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/utils/ChannelUtils.java new file mode 100644 index 00000000..03a7d530 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/utils/ChannelUtils.java @@ -0,0 +1,78 @@ +package org.framework.lazy.cloud.network.heartbeat.common.utils; + +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandler; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelPipeline; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class ChannelUtils { + /** + * 安全移除Pipeline中的Handler(核心:先检查存在性,避免重复移除) + * + * @param channel 目标通道 + * @param handlerClass 要移除的Handler类 + */ + public static void safeRemoveHandler(Channel channel, Class handlerClass) { + if (channel == null || !channel.isOpen() || !channel.isActive()) { + // 通道已关闭,直接返回,不操作 + return; + } + ChannelPipeline pipeline = channel.pipeline(); + // 核心:先检查Handler是否存在,再移除 + if (pipeline.get(handlerClass) != null) { + try { + pipeline.remove(handlerClass); + log.info("Handler {} 移除成功", handlerClass.getSimpleName()); + } catch (Exception e) { + // 捕获异常,避免程序崩溃(仅打印日志,不中断流程) + log.error("移除Handler失败:{}", e.getMessage()); + } + } + } + + /** + * 安全移除Pipeline中的Handler(核心:先检查存在性,避免重复移除) + * + * @param channelHandlerContext 目标通道 + * @param handlerClass 要移除的Handler类 + */ + public static void safeRemoveHandler(ChannelHandlerContext channelHandlerContext, Class handlerClass) { + ChannelPipeline pipeline = channelHandlerContext.pipeline(); + // 核心:先检查Handler是否存在,再移除 + if (pipeline.get(handlerClass) != null) { + try { + pipeline.remove(handlerClass); + log.info("Handler {} 移除成功", handlerClass.getSimpleName()); + } catch (Exception e) { + // 捕获异常,避免程序崩溃(仅打印日志,不中断流程) + log.error("移除Handler失败:{}", e.getMessage()); + } + } + } /** + * 安全移除Pipeline中的Handler(核心:先检查存在性,避免重复移除) + * + * @param channelHandlerContext 目标通道 + * @param channelHandler 要移除的Handler + */ + public static void safeRemoveHandler(ChannelHandlerContext channelHandlerContext, ChannelHandler channelHandler) { + if (channelHandler==null){ + return; + } + Class handlerClass = channelHandler.getClass(); + ChannelPipeline pipeline = channelHandlerContext.pipeline(); + // 核心:先检查Handler是否存在,再移除 + if (pipeline.get(handlerClass) != null) { + try { + pipeline.remove(handlerClass); + log.info("Handler {} 移除成功", handlerClass.getSimpleName()); + } catch (Exception e) { + // 捕获异常,避免程序崩溃(仅打印日志,不中断流程) + log.error("移除Handler失败:{}", e.getMessage()); + } + } + } + + +} diff --git a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/DnsServer.java b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/DnsServer.java index cca97f3e..8958fae6 100644 --- a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/DnsServer.java +++ b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/DnsServer.java @@ -20,7 +20,7 @@ public class DnsServer { } public void run() throws Exception { - EventLoopGroup group = new NioEventLoopGroup(); + EventLoopGroup group = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); try { Bootstrap b = new Bootstrap(); b.group(group) diff --git a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/HttpProxyServer.java b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/HttpProxyServer.java index a9f131be..336f810a 100644 --- a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/HttpProxyServer.java +++ b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/HttpProxyServer.java @@ -19,8 +19,8 @@ public class HttpProxyServer { private static final int PORT = 8001; public static void main(String[] args) throws Exception { - EventLoopGroup bossGroup = new NioEventLoopGroup(); - EventLoopGroup workerGroup = new NioEventLoopGroup(); + EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); try { ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup) diff --git a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/MultiProtocolProxyServer.java b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/MultiProtocolProxyServer.java index 4a156e50..816baac5 100644 --- a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/MultiProtocolProxyServer.java +++ b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/MultiProtocolProxyServer.java @@ -23,8 +23,8 @@ public class MultiProtocolProxyServer { private static final int UDP_PORT = 10000; public static void main(String[] args) throws Exception { - EventLoopGroup bossGroup = new NioEventLoopGroup(); - EventLoopGroup workerGroup = new NioEventLoopGroup(); + EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); try { // 启动 HTTP 代理服务器 diff --git a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/DnsServer.java b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/DnsServer.java index 292cef7b..54b85c04 100644 --- a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/DnsServer.java +++ b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/DnsServer.java @@ -42,7 +42,7 @@ public final class DnsServer { ProxyUdp proxyUdp = new ProxyUdp(); proxyUdp.init(); final int[] num = {0}; - final NioEventLoopGroup group = new NioEventLoopGroup(); + final NioEventLoopGroup group = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); Bootstrap bootstrap = new Bootstrap(); bootstrap.group(group).channel(NioDatagramChannel.class) .handler(new ChannelInitializer() { diff --git a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/ProxyUdp.java b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/ProxyUdp.java index 5850dc59..c5b6ee81 100644 --- a/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/ProxyUdp.java +++ b/wu-lazy-cloud-heartbeat-dns/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/ProxyUdp.java @@ -19,7 +19,7 @@ class ProxyUdp { private Channel proxyChannel; public void init() throws InterruptedException { - EventLoopGroup proxyGroup = new NioEventLoopGroup(); + EventLoopGroup proxyGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); Bootstrap b = new Bootstrap(); b.group(proxyGroup) .channel(NioDatagramChannel.class) 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 index 690edc91..ef40cac5 100644 --- 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 @@ -17,6 +17,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.decoder.TransferDecoder import org.framework.lazy.cloud.network.heartbeat.common.encoder.TransferEncoder; import org.framework.lazy.cloud.network.heartbeat.common.factory.EventLoopGroupFactory; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelUtils; import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettyProxy2RealInboundHandler; import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocketBackendHandler; import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocks5CommandRequestHandler; @@ -71,13 +72,16 @@ public class NettySocketProtocolHandleSocketLocalProxyTypeAdvanced ChannelAttributeKeyUtils.buildVisitorId(realChannel, visitorId); //添加客户端转发请求到服务端的Handler // 解码、编码 - proxyChannel.pipeline().addLast(new TransferDecoder(Integer.MAX_VALUE, 1024 * 1024 * 10)); - proxyChannel.pipeline().addLast(new TransferEncoder()); - proxyChannel.pipeline().addLast(new NettyProxy2RealInboundHandler()); + ChannelPipeline channelPipeline = proxyChannel.pipeline(); + channelPipeline.addLast(new TransferDecoder(Integer.MAX_VALUE, 1024 * 1024 * 10)); + channelPipeline.addLast(new TransferEncoder()); + channelPipeline.addLast(new NettyProxy2RealInboundHandler()); DefaultSocks5CommandResponse commandResponse = new DefaultSocks5CommandResponse(Socks5CommandStatus.SUCCESS, socks5AddressType); proxyChannel.writeAndFlush(commandResponse); - proxyChannel.pipeline().remove(NettySocks5CommandRequestHandler.class); - proxyChannel.pipeline().remove(Socks5CommandRequestDecoder.class); + + ChannelUtils.safeRemoveHandler(proxyChannel,NettySocks5CommandRequestHandler.class); + ChannelUtils.safeRemoveHandler(proxyChannel,Socks5CommandRequestDecoder.class); + } else { log.error("连接目标服务器失败,address={},port={}", host, port); DefaultSocks5CommandResponse commandResponse = new DefaultSocks5CommandResponse(Socks5CommandStatus.FAILURE, socks5AddressType); diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyHttpProxySocketApplicationListener.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyHttpProxySocketApplicationListener.java index dc2795f9..844c4d73 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyHttpProxySocketApplicationListener.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyHttpProxySocketApplicationListener.java @@ -3,6 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.context; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.handler.logging.LogLevel; import io.netty.handler.logging.LoggingHandler; @@ -17,8 +18,8 @@ import org.springframework.stereotype.Component; @Component public class NettyHttpProxySocketApplicationListener implements SocketApplicationListener { - private final EventLoopGroup bossGroup = new NioEventLoopGroup(); - private final EventLoopGroup workerGroup = new NioEventLoopGroup(); + private final EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + private final EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); private final NettyHttpProxyFilter nettyHttpProxyFilter;// 通道业务处理 private final ProtocolProxyProperties protocolProxyProperties; private ChannelFuture channelFuture; diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettySocketProxySocketApplicationListener.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettySocketProxySocketApplicationListener.java index f76e9a95..471a9caa 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettySocketProxySocketApplicationListener.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettySocketProxySocketApplicationListener.java @@ -3,6 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.context; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioServerSocketChannel; import jakarta.annotation.PreDestroy; import lombok.extern.slf4j.Slf4j; @@ -15,8 +16,8 @@ import org.springframework.stereotype.Component; @Component public class NettySocketProxySocketApplicationListener implements SocketApplicationListener { - private final EventLoopGroup bossGroup = new NioEventLoopGroup(); - private final EventLoopGroup workerGroup = new NioEventLoopGroup(); + private final EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + private final EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); private final NettyTcpProxyFilter nettyTcpProxyFilter;// 通道业务处理 private final ProtocolProxyProperties protocolProxyProperties; private ChannelFuture channelFuture; @@ -55,7 +56,7 @@ public class NettySocketProxySocketApplicationListener implements SocketApplicat .childHandler(nettyTcpProxyFilter); channelFuture = b.bind(socketProtocolProxyPort).sync(); - channelFuture.addListener((ChannelFutureListener) channelFuture -> { + channelFuture.addListener((ChannelFutureListener) _ -> { // 服务器已启动 log.info("Socket 协议代理 服务器启动成功 【{}】", socketProtocolProxyPort); }); 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 index f931d881..4fbca3eb 100644 --- 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 @@ -4,6 +4,7 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; import io.netty.handler.codec.socksx.v5.*; import lombok.extern.slf4j.Slf4j; +import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelUtils; import org.framework.lazy.cloud.network.heartbeat.protocol.auth.NettyPasswordAuth; import org.framework.lazy.cloud.network.heartbeat.protocol.properties.ProtocolProxyProperties; @@ -41,9 +42,9 @@ public class NettySocks5InitialRequestHandler extends SimpleChannelInboundHandle ctx.writeAndFlush(socks5InitialResponse); } + ChannelUtils.safeRemoveHandler(ctx,Socks5InitialRequestDecoder.class); + ChannelUtils.safeRemoveHandler(ctx,this); - ctx.pipeline().remove(this); - ctx.pipeline().remove(Socks5InitialRequestDecoder.class); } @Override diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5PasswordAuthRequestInboundHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5PasswordAuthRequestInboundHandler.java index 36c949e1..fbbcf712 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5PasswordAuthRequestInboundHandler.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5PasswordAuthRequestInboundHandler.java @@ -5,6 +5,7 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; import io.netty.handler.codec.socksx.v5.*; import lombok.extern.slf4j.Slf4j; +import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelUtils; import org.framework.lazy.cloud.network.heartbeat.protocol.auth.NettyPasswordAuth; @Slf4j @@ -28,8 +29,9 @@ public class NettySocks5PasswordAuthRequestInboundHandler extends SimpleChannelI log.debug("认证直接成功"); Socks5PasswordAuthResponse passwordAuthResponse = new DefaultSocks5PasswordAuthResponse(Socks5PasswordAuthStatus.SUCCESS); ctx.writeAndFlush(passwordAuthResponse); - ctx.pipeline().remove(this); - ctx.pipeline().remove(Socks5PasswordAuthRequestDecoder.class); + + ChannelUtils.safeRemoveHandler(ctx,this); + ChannelUtils.safeRemoveHandler(ctx,Socks5PasswordAuthRequestDecoder.class); } else { log.error("授权失败: with username:{} password:{}", username, password); // 认证失败 diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/DnsServer.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/DnsServer.java index d67b2ed0..60f8c08f 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/DnsServer.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/DnsServer.java @@ -1,11 +1,9 @@ package org.framework.lazy.cloud.network.heartbeat.protocol; import io.netty.bootstrap.Bootstrap; -import io.netty.channel.ChannelFuture; -import io.netty.channel.ChannelInitializer; -import io.netty.channel.ChannelOption; -import io.netty.channel.EventLoopGroup; +import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.DatagramChannel; import io.netty.channel.socket.nio.NioDatagramChannel; import io.netty.handler.codec.dns.DatagramDnsQueryDecoder; @@ -24,7 +22,7 @@ public class DnsServer { } public void run() throws Exception { - EventLoopGroup group = new NioEventLoopGroup(); + EventLoopGroup group = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); try { Bootstrap b = new Bootstrap(); b.group(group) diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/HttpProxyServer.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/HttpProxyServer.java index e45e5b4e..3113b260 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/HttpProxyServer.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/HttpProxyServer.java @@ -5,6 +5,7 @@ import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.Unpooled; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.channel.socket.nio.NioSocketChannel; @@ -21,8 +22,8 @@ public class HttpProxyServer { private static final int PORT = 8080; public static void main(String[] args) throws Exception { - EventLoopGroup bossGroup = new NioEventLoopGroup(); - EventLoopGroup workerGroup = new NioEventLoopGroup(); + EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); try { ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup) diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/MultiProtocolProxyServer.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/MultiProtocolProxyServer.java index 28b1492f..5a1c6d92 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/MultiProtocolProxyServer.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/MultiProtocolProxyServer.java @@ -5,6 +5,7 @@ import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.Unpooled; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.DatagramPacket; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioDatagramChannel; @@ -25,8 +26,8 @@ public class MultiProtocolProxyServer { private static final int UDP_PORT = 10000; public static void main(String[] args) throws Exception { - EventLoopGroup bossGroup = new NioEventLoopGroup(); - EventLoopGroup workerGroup = new NioEventLoopGroup(); + EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); try { // 启动 HTTP 代理服务器 diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/DnsServer.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/DnsServer.java index 292cef7b..52274c59 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/DnsServer.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/DnsServer.java @@ -6,6 +6,7 @@ import io.netty.bootstrap.Bootstrap; import io.netty.buffer.Unpooled; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioDatagramChannel; import io.netty.handler.codec.dns.*; import io.netty.util.AttributeKey; @@ -42,7 +43,7 @@ public final class DnsServer { ProxyUdp proxyUdp = new ProxyUdp(); proxyUdp.init(); final int[] num = {0}; - final NioEventLoopGroup group = new NioEventLoopGroup(); + final EventLoopGroup group = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); Bootstrap bootstrap = new Bootstrap(); bootstrap.group(group).channel(NioDatagramChannel.class) .handler(new ChannelInitializer() { diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/ProxyUdp.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/ProxyUdp.java index 5850dc59..3d9cf32b 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/ProxyUdp.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/demo/ProxyUdp.java @@ -5,6 +5,7 @@ import io.netty.buffer.ByteBufUtil; import io.netty.buffer.Unpooled; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.DatagramChannel; import io.netty.channel.socket.nio.NioDatagramChannel; import io.netty.handler.codec.dns.*; @@ -19,7 +20,7 @@ class ProxyUdp { private Channel proxyChannel; public void init() throws InterruptedException { - EventLoopGroup proxyGroup = new NioEventLoopGroup(); + EventLoopGroup proxyGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); Bootstrap b = new Bootstrap(); b.group(proxyGroup) .channel(NioDatagramChannel.class) diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Socks5CommandRequestHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Socks5CommandRequestHandler.java index ab67cf9e..ae479dec 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Socks5CommandRequestHandler.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Socks5CommandRequestHandler.java @@ -7,6 +7,7 @@ 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.utils.ChannelUtils; import java.net.InetSocketAddress; @@ -41,8 +42,9 @@ public class Socks5CommandRequestHandler extends SimpleChannelInboundHandler { @@ -22,8 +23,8 @@ public class Socks5InitialRequestHandler extends SimpleChannelInboundHandler { @@ -16,8 +17,9 @@ public class Socks5PasswordAuthRequestInboundHandler extends SimpleChannelInboun log.info("认证直接成功"); Socks5PasswordAuthResponse passwordAuthResponse = new DefaultSocks5PasswordAuthResponse(Socks5PasswordAuthStatus.SUCCESS); ctx.writeAndFlush(passwordAuthResponse); - ctx.pipeline().remove(this); - ctx.pipeline().remove(Socks5PasswordAuthRequestDecoder.class); + + ChannelUtils.safeRemoveHandler(ctx,this); + ChannelUtils.safeRemoveHandler(ctx,Socks5PasswordAuthRequestDecoder.class); // 认证失败 // Socks5PasswordAuthResponse passwordAuthResponse = new DefaultSocks5PasswordAuthResponse(Socks5PasswordAuthStatus.FAILURE); diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Socks5ProxyServer.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Socks5ProxyServer.java index 3d530508..f42cbaac 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Socks5ProxyServer.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/socket5/Socks5ProxyServer.java @@ -1,11 +1,9 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.socket5; import io.netty.bootstrap.ServerBootstrap; -import io.netty.channel.ChannelFuture; -import io.netty.channel.ChannelInitializer; -import io.netty.channel.ChannelOption; -import io.netty.channel.EventLoopGroup; +import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.handler.codec.socksx.v5.Socks5CommandRequestDecoder; @@ -26,10 +24,10 @@ public class Socks5ProxyServer { } public void run() throws Exception { - EventLoopGroup bossGroup = new NioEventLoopGroup(); - EventLoopGroup workerGroup = new NioEventLoopGroup(); + EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); - EventLoopGroup group = new NioEventLoopGroup(); + EventLoopGroup group = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); try { ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup) diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/test1/TrafficInterceptor.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/test1/TrafficInterceptor.java index 703d9633..75cb4a6a 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/test1/TrafficInterceptor.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/test/java/org/framework/lazy/cloud/network/heartbeat/protocol/test1/TrafficInterceptor.java @@ -3,6 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.test1; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.handler.logging.LogLevel; @@ -43,7 +44,7 @@ public class TrafficInterceptor { */ public void start() throws InterruptedException { bossGroup = new NioEventLoopGroup(1); - workerGroup = new NioEventLoopGroup(); + workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); try { // 核心:启动服务端,绑定网卡 IP,监听所有 TCP 端口(模拟全端口拦截) diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/context/NettyTcpServerSocketApplicationListener.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/context/NettyTcpServerSocketApplicationListener.java index 19a523c3..9d1b0a52 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/context/NettyTcpServerSocketApplicationListener.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/context/NettyTcpServerSocketApplicationListener.java @@ -15,8 +15,8 @@ import org.springframework.stereotype.Component; @Component public class NettyTcpServerSocketApplicationListener implements SocketApplicationListener { - private final EventLoopGroup bossGroup = new NioEventLoopGroup(); - private final EventLoopGroup workerGroup = new NioEventLoopGroup(); + private final EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + private final EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); private final NettyTcpServerFilter nettyTcpServerFilter;// 通道业务处理 private final ServerNodeProperties serverNodeProperties; private ChannelFuture channelFuture; diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/context/NettyUdpServerSocketApplicationListener.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/context/NettyUdpServerSocketApplicationListener.java index dc160ea7..6b478e76 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/context/NettyUdpServerSocketApplicationListener.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/context/NettyUdpServerSocketApplicationListener.java @@ -18,7 +18,7 @@ import org.springframework.stereotype.Component; //@Component public class NettyUdpServerSocketApplicationListener implements SocketApplicationListener { - private final EventLoopGroup bossGroup = "linux".equalsIgnoreCase(SystemPropertyUtil.get("os.name")) ? new EpollEventLoopGroup() : new NioEventLoopGroup(); + private final EventLoopGroup bossGroup = "linux".equalsIgnoreCase(SystemPropertyUtil.get("os.name")) ? new EpollEventLoopGroup() : new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); private final NettyUdpServerFilter nettyUdpServerFilter;// 通道业务处理 private final ServerNodeProperties serverNodeProperties; private ChannelFuture channelFuture; diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyOnCloudNettyServerSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyOnCloudNettyServerSocket.java index 1cd482fe..3f60e0e6 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyOnCloudNettyServerSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyOnCloudNettyServerSocket.java @@ -14,8 +14,8 @@ import org.framework.lazy.cloud.network.heartbeat.server.netty.permeate.tcp.filt */ @Deprecated public class NettyOnCloudNettyServerSocket { - private final EventLoopGroup bossGroup = new NioEventLoopGroup(); - private final EventLoopGroup workerGroup = new NioEventLoopGroup(); + private final EventLoopGroup bossGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); + private final EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); private final NettyTcpServerFilter nettyTcpServerFilter;// 通道业务处理 private ChannelFuture channelFuture; diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyTcpClientPermeateServerConnectRealSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyTcpClientPermeateServerConnectRealSocket.java index 83acaafa..373c66d6 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyTcpClientPermeateServerConnectRealSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyTcpClientPermeateServerConnectRealSocket.java @@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyTcpClientPermeateServerConnectRealSocket { - private static final EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + private static final EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyTcpServerPermeateServerConnectRealSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyTcpServerPermeateServerConnectRealSocket.java index 970cdcb2..a6bc5366 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyTcpServerPermeateServerConnectRealSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/tcp/socket/NettyTcpServerPermeateServerConnectRealSocket.java @@ -17,7 +17,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyTcpServerPermeateServerConnectRealSocket { - private static final EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + private static final EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 连接真实服务 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/socket/NettyUdpClientPermeateServerConnectRealSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/socket/NettyUdpClientPermeateServerConnectRealSocket.java index f24ff0f0..0947dcc3 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/socket/NettyUdpClientPermeateServerConnectRealSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/socket/NettyUdpClientPermeateServerConnectRealSocket.java @@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyUdpClientPermeateServerConnectRealSocket { - private static final EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + private static final EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/socket/NettyUdpServerPermeateServerConnectRealSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/socket/NettyUdpServerPermeateServerConnectRealSocket.java index ad7d947e..f54cb858 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/socket/NettyUdpServerPermeateServerConnectRealSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/permeate/udp/socket/NettyUdpServerPermeateServerConnectRealSocket.java @@ -17,7 +17,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyUdpServerPermeateServerConnectRealSocket { - private static final EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + private static final EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** * 连接真实服务 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/proxy/http/socket/NettyHttpClientProxyServerRealSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/proxy/http/socket/NettyHttpClientProxyServerRealSocket.java index 52d3c09d..a08c5af1 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/proxy/http/socket/NettyHttpClientProxyServerRealSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/proxy/http/socket/NettyHttpClientProxyServerRealSocket.java @@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j public class NettyHttpClientProxyServerRealSocket { - private static final EventLoopGroup eventLoopGroup = new NioEventLoopGroup(); + private static final EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); /** diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/proxy/socks/advanced/ServerHandleSocksReportServerProxyClientConnectionSuccessTypeAdvanced.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/proxy/socks/advanced/ServerHandleSocksReportServerProxyClientConnectionSuccessTypeAdvanced.java index 4857128f..7801b131 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/proxy/socks/advanced/ServerHandleSocksReportServerProxyClientConnectionSuccessTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/proxy/socks/advanced/ServerHandleSocksReportServerProxyClientConnectionSuccessTypeAdvanced.java @@ -15,6 +15,7 @@ import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyP import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.socks.server.AbstractHandleSocksReportServerProxyClientConnectionSuccessTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.decoder.TransferDecoder; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelUtils; import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocks5CommandRequestHandler; import org.framework.lazy.cloud.network.heartbeat.server.netty.proxy.socks.filter.NettySocksServerProxyClientVisitorFilter; import org.framework.lazy.cloud.network.heartbeat.server.netty.proxy.socks.handler.NettySocksClientProxyServerRealHandler; @@ -74,8 +75,8 @@ public class ServerHandleSocksReportServerProxyClientConnectionSuccessTypeAdvanc nextChannel.pipeline().addLast(new NettySocksServerProxyClientVisitorFilter()); - nextChannel.pipeline().remove(NettySocks5CommandRequestHandler.class); - nextChannel.pipeline().remove(Socks5CommandRequestDecoder.class); + ChannelUtils.safeRemoveHandler(nextChannel,NettySocks5CommandRequestHandler.class); + ChannelUtils.safeRemoveHandler(nextChannel,Socks5CommandRequestDecoder.class); } } diff --git a/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-server-start/src/test/java/NettyMulticastExample.java b/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-server-start/src/test/java/NettyMulticastExample.java index 074e8312..891644f7 100644 --- a/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-server-start/src/test/java/NettyMulticastExample.java +++ b/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-server-start/src/test/java/NettyMulticastExample.java @@ -12,7 +12,7 @@ //public class NettyMulticastExample { // // public static void main(String[] args) throws Exception { -// EventLoopGroup group = new NioEventLoopGroup(); +// EventLoopGroup group = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); // try { // Bootstrap b = new Bootstrap(); // b.group(group)