mirror of
https://gitee.com/wujiawei1207537021/wu-lazy-cloud-network.git
synced 2025-06-16 18:35:05 +08:00
【fix】 添加服务端、客户端路由管理接口
This commit is contained in:
@ -5,6 +5,9 @@ import org.framework.lazy.cloud.network.heartbeat.client.context.NettyClientSock
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced.*;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced.*;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.advanced.*;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.advanced.*;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.advanced.ClientHandleDistributeHttpClientProxyServerTransferTypeAdvanced;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.advanced.ClientHandleHttpClientProxyClientTypeAdvanced;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.advanced.ClientHandleHttpClientProxyServerTypeAdvanced;
|
||||||
import org.springframework.beans.factory.config.BeanDefinition;
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
@ -327,4 +330,23 @@ public class ClientAutoConfiguration {
|
|||||||
return new ClientHandleUdpDistributeClientPermeateServerTransferCloseTypeAdvanced();
|
return new ClientHandleUdpDistributeClientPermeateServerTransferCloseTypeAdvanced();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
static class HttpProxyConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ClientHandleDistributeHttpClientProxyServerTransferTypeAdvanced clientHandleDistributeHttpClientProxyServerTypeAdvanced() {
|
||||||
|
return new ClientHandleDistributeHttpClientProxyServerTransferTypeAdvanced();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ClientHandleHttpClientProxyClientTypeAdvanced clientHandleHttpClientClientProxyClientTypeAdvanced() {
|
||||||
|
return new ClientHandleHttpClientProxyClientTypeAdvanced();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ClientHandleHttpClientProxyServerTypeAdvanced clientHandleHttpClientClientProxyServerTypeAdvanced() {
|
||||||
|
return new ClientHandleHttpClientProxyServerTypeAdvanced();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ import java.util.List;
|
|||||||
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Data
|
@Data
|
||||||
public class InternalNetworkClientPermeateClientVisitor implements InternalNetworkPermeate {
|
public class NettyClientPermeateClientVisitor implements InternalNetworkPermeate {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前客户端ID
|
* 当前客户端ID
|
@ -10,7 +10,7 @@ import java.util.List;
|
|||||||
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Data
|
@Data
|
||||||
public class InternalNetworkClientPermeateServerVisitor implements InternalNetworkPermeate {
|
public class NettyClientPermeateServerVisitor implements InternalNetworkPermeate {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 目标地址
|
* 目标地址
|
@ -4,7 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType;
|
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.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.AbstractTcpHandleChannelHeartbeatTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.AbstractTcpHandleChannelHeartbeatTypeAdvanced;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -6,7 +6,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeServicePermeateClientTransferTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeServicePermeateClientTransferTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import io.netty.channel.Channel;
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
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.ChannelContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpClientChannelActiveAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpClientChannelActiveAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientPermeateClientCloseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateClientCloseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.socket.PermeateVisitorSocket;
|
import org.framework.lazy.cloud.network.heartbeat.common.socket.PermeateVisitorSocket;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientPrope
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateClientVisitorSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateClientVisitorSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientPermeateClientInitTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateClientInitTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.wu.framework.spring.utils.SpringContextHolder;
|
import org.wu.framework.spring.utils.SpringContextHolder;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientPermeateClientTransferCloseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateClientTransferCloseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientPermeateServerCloseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateServerCloseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.socket.PermeateVisitorSocket;
|
import org.framework.lazy.cloud.network.heartbeat.common.socket.PermeateVisitorSocket;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientPrope
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateServerVisitorSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateServerVisitorSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientPermeateServerInitTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateServerInitTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.wu.framework.spring.utils.SpringContextHolder;
|
import org.wu.framework.spring.utils.SpringContextHolder;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientPermeateServerTransferCloseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateServerTransferCloseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientPermeateServerTransferTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientPermeateServerTransferTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientPrope
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateClientRealSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateClientRealSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.wu.framework.spring.utils.SpringContextHolder;
|
import org.wu.framework.spring.utils.SpringContextHolder;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import io.netty.channel.ChannelOption;
|
import io.netty.channel.ChannelOption;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientTransferClientRequestTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientTransferClientRequestTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.handler.NettyTcpClientPermeateServerVisitorHandler;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.handler.NettyTcpClientPermeateServerVisitorHandler;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateServerVisitorTransferSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateServerVisitorTransferSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeConnectSuccessNotificationTypeAdvancedHandle;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeConnectSuccessNotificationTypeAdvancedHandle;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeDisconnectTypeAdvancedHandle;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeDisconnectTypeAdvancedHandle;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -7,7 +7,7 @@ import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.sock
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPenetrationRealClient;
|
import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPenetrationRealClient;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeServicePermeateClientRealConnectTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeServicePermeateClientRealConnectTypeAdvanced;
|
||||||
import org.wu.framework.spring.utils.SpringContextHolder;
|
import org.wu.framework.spring.utils.SpringContextHolder;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeServicePermeateClientTransferClientResponseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeServicePermeateClientTransferClientResponseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeSingleClientMessageTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeSingleClientMessageTypeAdvanced;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 接收服务端发送过来的聊天信息
|
* 接收服务端发送过来的聊天信息
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.ChannelOption;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeSingleClientRealAutoReadConnectTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeSingleClientRealAutoReadConnectTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@ -5,7 +5,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyCommunicationIdContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyCommunicationIdContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ClientHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced extends AbstractHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced<NettyProxyMsg> {
|
public class ClientHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced extends AbstractHandleTcpDistributeSingleClientRealCloseVisitorTypeAdvanced<NettyProxyMsg> {
|
||||||
|
@ -3,7 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeStagingClosedTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeStagingClosedTypeAdvanced;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 服务端下发暂存关闭消息处理
|
* 服务端下发暂存关闭消息处理
|
||||||
|
@ -3,7 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.AbstractHandleTcpDistributeStagingOpenedTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client.AbstractHandleTcpDistributeStagingOpenedTypeAdvanced;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 服务端下发暂存开启消息处理
|
* 服务端下发暂存开启消息处理
|
||||||
|
@ -5,16 +5,16 @@ import io.netty.channel.ChannelDuplexHandler;
|
|||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelPipeline;
|
import io.netty.channel.ChannelPipeline;
|
||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateClientVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.handler.NettyTcpClientPermeateClientVisitorHandler;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.handler.NettyTcpClientPermeateClientVisitorHandler;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
||||||
|
|
||||||
public class NettyTcpClientPermeateClientVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
public class NettyTcpClientPermeateClientVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
||||||
|
|
||||||
private final InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor;
|
private final NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor;
|
||||||
|
|
||||||
public NettyTcpClientPermeateClientVisitorFilter(InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor) {
|
public NettyTcpClientPermeateClientVisitorFilter(NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor) {
|
||||||
this.internalNetworkClientPermeateClientVisitor = internalNetworkClientPermeateClientVisitor;
|
this.nettyClientPermeateClientVisitor = nettyClientPermeateClientVisitor;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,6 +31,6 @@ public class NettyTcpClientPermeateClientVisitorFilter extends DebugChannelIniti
|
|||||||
protected void initChannel0(SocketChannel ch) throws Exception {
|
protected void initChannel0(SocketChannel ch) throws Exception {
|
||||||
ChannelPipeline pipeline = ch.pipeline();
|
ChannelPipeline pipeline = ch.pipeline();
|
||||||
pipeline.addLast(new ChannelDuplexHandler());
|
pipeline.addLast(new ChannelDuplexHandler());
|
||||||
pipeline.addLast(new NettyTcpClientPermeateClientVisitorHandler(internalNetworkClientPermeateClientVisitor));
|
pipeline.addLast(new NettyTcpClientPermeateClientVisitorHandler(nettyClientPermeateClientVisitor));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,16 +5,16 @@ import io.netty.channel.ChannelDuplexHandler;
|
|||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelPipeline;
|
import io.netty.channel.ChannelPipeline;
|
||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.handler.NettyTcpClientPermeateServerVisitorHandler;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.handler.NettyTcpClientPermeateServerVisitorHandler;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
||||||
|
|
||||||
public class NettyTcpClientPermeateServerVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
public class NettyTcpClientPermeateServerVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
||||||
|
|
||||||
private final InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor;
|
private final NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor;
|
||||||
|
|
||||||
public NettyTcpClientPermeateServerVisitorFilter(InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor) {
|
public NettyTcpClientPermeateServerVisitorFilter(NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor) {
|
||||||
this.internalNetworkClientPermeateServerVisitor = internalNetworkClientPermeateServerVisitor;
|
this.nettyClientPermeateServerVisitor = nettyClientPermeateServerVisitor;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,6 +31,6 @@ public class NettyTcpClientPermeateServerVisitorFilter extends DebugChannelIniti
|
|||||||
protected void initChannel0(SocketChannel ch) throws Exception {
|
protected void initChannel0(SocketChannel ch) throws Exception {
|
||||||
ChannelPipeline pipeline = ch.pipeline();
|
ChannelPipeline pipeline = ch.pipeline();
|
||||||
pipeline.addLast(new ChannelDuplexHandler());
|
pipeline.addLast(new ChannelDuplexHandler());
|
||||||
pipeline.addLast(new NettyTcpClientPermeateServerVisitorHandler(internalNetworkClientPermeateServerVisitor));
|
pipeline.addLast(new NettyTcpClientPermeateServerVisitorHandler(nettyClientPermeateServerVisitor));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ import io.netty.channel.ChannelOption;
|
|||||||
import io.netty.channel.SimpleChannelInboundHandler;
|
import io.netty.channel.SimpleChannelInboundHandler;
|
||||||
import io.netty.util.internal.StringUtil;
|
import io.netty.util.internal.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateClientVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced.ClientHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced.ClientHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateClientVisitorTransferSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateClientVisitorTransferSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateServerVisitorTransferSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateServerVisitorTransferSocket;
|
||||||
@ -22,11 +22,11 @@ import java.util.UUID;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class NettyTcpClientPermeateClientVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
public class NettyTcpClientPermeateClientVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
||||||
private final InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor;
|
private final NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor;
|
||||||
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
||||||
|
|
||||||
public NettyTcpClientPermeateClientVisitorHandler(InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor) {
|
public NettyTcpClientPermeateClientVisitorHandler(NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor) {
|
||||||
this.internalNetworkClientPermeateClientVisitor = internalNetworkClientPermeateClientVisitor;
|
this.nettyClientPermeateClientVisitor = nettyClientPermeateClientVisitor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -53,7 +53,7 @@ public class NettyTcpClientPermeateClientVisitorHandler extends SimpleChannelInb
|
|||||||
// 判断是否有可用的通道 如果没有创建新的通道
|
// 判断是否有可用的通道 如果没有创建新的通道
|
||||||
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
||||||
// 创建访客连接客户端通道
|
// 创建访客连接客户端通道
|
||||||
NettyTcpClientPermeateClientVisitorTransferSocket.buildTransferServer(internalNetworkClientPermeateClientVisitor,visitorChannel);
|
NettyTcpClientPermeateClientVisitorTransferSocket.buildTransferServer(nettyClientPermeateClientVisitor,visitorChannel);
|
||||||
log.info("客户端渗透客户端访客:【{}】端口连接成功了",visitorId);
|
log.info("客户端渗透客户端访客:【{}】端口连接成功了",visitorId);
|
||||||
super.channelActive(ctx);
|
super.channelActive(ctx);
|
||||||
}
|
}
|
||||||
@ -72,8 +72,8 @@ public class NettyTcpClientPermeateClientVisitorHandler extends SimpleChannelInb
|
|||||||
log.debug("【客户端渗透客户端】访客端口成功接收数据:{}", new String(bytes));
|
log.debug("【客户端渗透客户端】访客端口成功接收数据:{}", new String(bytes));
|
||||||
|
|
||||||
// 使用访客的通信通道
|
// 使用访客的通信通道
|
||||||
Integer visitorPort = internalNetworkClientPermeateClientVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateClientVisitor.getVisitorPort();
|
||||||
String clientId = internalNetworkClientPermeateClientVisitor.getNettyClientProperties().getClientId();
|
String clientId = nettyClientPermeateClientVisitor.getNettyClientProperties().getClientId();
|
||||||
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
||||||
nettyProxyMsg.setType(TcpMessageType.TCP_REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST);
|
nettyProxyMsg.setType(TcpMessageType.TCP_REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST);
|
||||||
nettyProxyMsg.setVisitorId(visitorId);
|
nettyProxyMsg.setVisitorId(visitorId);
|
||||||
|
@ -8,7 +8,7 @@ import io.netty.channel.ChannelOption;
|
|||||||
import io.netty.channel.SimpleChannelInboundHandler;
|
import io.netty.channel.SimpleChannelInboundHandler;
|
||||||
import io.netty.util.internal.StringUtil;
|
import io.netty.util.internal.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced.ClientHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.advanced.ClientHandleTcpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateServerVisitorTransferSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.socket.NettyTcpClientPermeateServerVisitorTransferSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType;
|
import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType;
|
||||||
@ -19,11 +19,11 @@ import java.util.UUID;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class NettyTcpClientPermeateServerVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
public class NettyTcpClientPermeateServerVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
||||||
private final InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor;
|
private final NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor;
|
||||||
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
||||||
|
|
||||||
public NettyTcpClientPermeateServerVisitorHandler(InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor) {
|
public NettyTcpClientPermeateServerVisitorHandler(NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor) {
|
||||||
this.internalNetworkClientPermeateServerVisitor = internalNetworkClientPermeateServerVisitor;
|
this.nettyClientPermeateServerVisitor = nettyClientPermeateServerVisitor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,14 +41,14 @@ public class NettyTcpClientPermeateServerVisitorHandler extends SimpleChannelInb
|
|||||||
|
|
||||||
// 生成访客ID
|
// 生成访客ID
|
||||||
String visitorId = UUID.randomUUID().toString();
|
String visitorId = UUID.randomUUID().toString();
|
||||||
Integer visitorPort = internalNetworkClientPermeateServerVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateServerVisitor.getVisitorPort();
|
||||||
|
|
||||||
log.info("this channel with visitor port:{} use visitorId:{}", visitorPort, visitorId);
|
log.info("this channel with visitor port:{} use visitorId:{}", visitorPort, visitorId);
|
||||||
ChannelAttributeKeyUtils.buildVisitorId(visitorChannel, visitorId);
|
ChannelAttributeKeyUtils.buildVisitorId(visitorChannel, visitorId);
|
||||||
// 判断是否有可用的通道 如果没有创建新的通道
|
// 判断是否有可用的通道 如果没有创建新的通道
|
||||||
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
||||||
// 创建访客连接服务端通道
|
// 创建访客连接服务端通道
|
||||||
NettyTcpClientPermeateServerVisitorTransferSocket.buildTransferServer(internalNetworkClientPermeateServerVisitor,visitorChannel);
|
NettyTcpClientPermeateServerVisitorTransferSocket.buildTransferServer(nettyClientPermeateServerVisitor,visitorChannel);
|
||||||
log.debug("客户端渗透服务端访客端口连接成功了,访客ID:{}", visitorId);
|
log.debug("客户端渗透服务端访客端口连接成功了,访客ID:{}", visitorId);
|
||||||
super.channelActive(ctx);
|
super.channelActive(ctx);
|
||||||
}
|
}
|
||||||
@ -67,8 +67,8 @@ public class NettyTcpClientPermeateServerVisitorHandler extends SimpleChannelInb
|
|||||||
log.debug("【客户端渗透服务端】访客端口成功接收数据:{}", new String(bytes));
|
log.debug("【客户端渗透服务端】访客端口成功接收数据:{}", new String(bytes));
|
||||||
|
|
||||||
// 使用访客的通信通道
|
// 使用访客的通信通道
|
||||||
Integer visitorPort = internalNetworkClientPermeateServerVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateServerVisitor.getVisitorPort();
|
||||||
String clientId = internalNetworkClientPermeateServerVisitor.getNettyClientProperties().getClientId();
|
String clientId = nettyClientPermeateServerVisitor.getNettyClientProperties().getClientId();
|
||||||
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
||||||
nettyProxyMsg.setType(TcpMessageType.TCP_REPORT_CLIENT_PERMEATE_SERVER_TRANSFER);
|
nettyProxyMsg.setType(TcpMessageType.TCP_REPORT_CLIENT_PERMEATE_SERVER_TRANSFER);
|
||||||
nettyProxyMsg.setVisitorId(visitorId);
|
nettyProxyMsg.setVisitorId(visitorId);
|
||||||
|
@ -6,7 +6,7 @@ import io.netty.channel.socket.nio.NioServerSocketChannel;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateClientVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateClientVisitorFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateClientVisitorFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
||||||
@ -266,19 +266,19 @@ public class NettyTcpClientPermeateClientVisitorSocket implements PermeateVisito
|
|||||||
if (visitorPort == null) {
|
if (visitorPort == null) {
|
||||||
throw new IllegalArgumentException("visitorPort must not null");
|
throw new IllegalArgumentException("visitorPort must not null");
|
||||||
}
|
}
|
||||||
InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor = new InternalNetworkClientPermeateClientVisitor();
|
NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor = new NettyClientPermeateClientVisitor();
|
||||||
|
|
||||||
internalNetworkClientPermeateClientVisitor.setFromClientId(nettyClientProperties.getClientId());
|
nettyClientPermeateClientVisitor.setFromClientId(nettyClientProperties.getClientId());
|
||||||
internalNetworkClientPermeateClientVisitor.setToClientId(toClientId);
|
nettyClientPermeateClientVisitor.setToClientId(toClientId);
|
||||||
internalNetworkClientPermeateClientVisitor.setTargetIp(clientTargetIp);
|
nettyClientPermeateClientVisitor.setTargetIp(clientTargetIp);
|
||||||
internalNetworkClientPermeateClientVisitor.setTargetPort(clientTargetPort);
|
nettyClientPermeateClientVisitor.setTargetPort(clientTargetPort);
|
||||||
internalNetworkClientPermeateClientVisitor.setVisitorPort(visitorPort);
|
nettyClientPermeateClientVisitor.setVisitorPort(visitorPort);
|
||||||
internalNetworkClientPermeateClientVisitor.setNettyClientProperties(nettyClientProperties);
|
nettyClientPermeateClientVisitor.setNettyClientProperties(nettyClientProperties);
|
||||||
internalNetworkClientPermeateClientVisitor.setChannelFlowAdapter(channelFlowAdapter);
|
nettyClientPermeateClientVisitor.setChannelFlowAdapter(channelFlowAdapter);
|
||||||
internalNetworkClientPermeateClientVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
nettyClientPermeateClientVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
||||||
|
|
||||||
|
|
||||||
NettyTcpClientPermeateClientVisitorFilter visitorFilter = new NettyTcpClientPermeateClientVisitorFilter(internalNetworkClientPermeateClientVisitor);
|
NettyTcpClientPermeateClientVisitorFilter visitorFilter = new NettyTcpClientPermeateClientVisitorFilter(nettyClientPermeateClientVisitor);
|
||||||
return new NettyTcpClientPermeateClientVisitorSocket(visitorFilter, clientId, visitorPort);
|
return new NettyTcpClientPermeateClientVisitorSocket(visitorFilter, clientId, visitorPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import io.netty.channel.nio.NioEventLoopGroup;
|
|||||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateClientVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateClientTransferFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateClientTransferFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType;
|
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.NettyProxyMsg;
|
||||||
@ -26,7 +26,7 @@ public class NettyTcpClientPermeateClientVisitorTransferSocket {
|
|||||||
/**
|
/**
|
||||||
* 连接服务端通信通道
|
* 连接服务端通信通道
|
||||||
*/
|
*/
|
||||||
public static void buildTransferServer(InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor, Channel visitorChannel) {
|
public static void buildTransferServer(NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor, Channel visitorChannel) {
|
||||||
|
|
||||||
|
|
||||||
Bootstrap bootstrap = new Bootstrap();
|
Bootstrap bootstrap = new Bootstrap();
|
||||||
@ -43,21 +43,21 @@ public class NettyTcpClientPermeateClientVisitorTransferSocket {
|
|||||||
// .option(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT
|
// .option(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT
|
||||||
|
|
||||||
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
||||||
.handler(new NettyTcpClientPermeateClientTransferFilter(new ChannelTypeAdapter(internalNetworkClientPermeateClientVisitor.getHandleChannelTypeAdvancedList())))
|
.handler(new NettyTcpClientPermeateClientTransferFilter(new ChannelTypeAdapter(nettyClientPermeateClientVisitor.getHandleChannelTypeAdvancedList())))
|
||||||
;
|
;
|
||||||
NettyClientProperties nettyClientProperties = internalNetworkClientPermeateClientVisitor.getNettyClientProperties();
|
NettyClientProperties nettyClientProperties = nettyClientPermeateClientVisitor.getNettyClientProperties();
|
||||||
String inetHost = nettyClientProperties.getInetHost();
|
String inetHost = nettyClientProperties.getInetHost();
|
||||||
int inetPort = nettyClientProperties.getInetPort();
|
int inetPort = nettyClientProperties.getInetPort();
|
||||||
// local client id
|
// local client id
|
||||||
|
|
||||||
String clientId = nettyClientProperties.getClientId();
|
String clientId = nettyClientProperties.getClientId();
|
||||||
|
|
||||||
String targetIp = internalNetworkClientPermeateClientVisitor.getTargetIp();
|
String targetIp = nettyClientPermeateClientVisitor.getTargetIp();
|
||||||
Integer targetPort = internalNetworkClientPermeateClientVisitor.getTargetPort();
|
Integer targetPort = nettyClientPermeateClientVisitor.getTargetPort();
|
||||||
|
|
||||||
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
||||||
Integer visitorPort = internalNetworkClientPermeateClientVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateClientVisitor.getVisitorPort();
|
||||||
String toClientId = internalNetworkClientPermeateClientVisitor.getToClientId();
|
String toClientId = nettyClientPermeateClientVisitor.getToClientId();
|
||||||
|
|
||||||
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
||||||
log.info("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {} with clientId:【{}】 toClientId:【{}】 & visitorId:【{}】", inetHost, inetPort, clientId, toClientId, visitorId);
|
log.info("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {} with clientId:【{}】 toClientId:【{}】 & visitorId:【{}】", inetHost, inetPort, clientId, toClientId, visitorId);
|
||||||
@ -90,7 +90,7 @@ public class NettyTcpClientPermeateClientVisitorTransferSocket {
|
|||||||
log.info("无法连接到服务端....");
|
log.info("无法连接到服务端....");
|
||||||
eventLoopGroup.schedule(() -> {
|
eventLoopGroup.schedule(() -> {
|
||||||
try {
|
try {
|
||||||
buildTransferServer(internalNetworkClientPermeateClientVisitor, visitorChannel);
|
buildTransferServer(nettyClientPermeateClientVisitor, visitorChannel);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ import io.netty.channel.socket.nio.NioServerSocketChannel;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateServerVisitorFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateServerVisitorFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
||||||
@ -213,16 +213,16 @@ public class NettyTcpClientPermeateServerVisitorSocket implements PermeateVisito
|
|||||||
if (visitorPort == null) {
|
if (visitorPort == null) {
|
||||||
throw new IllegalArgumentException("visitorPort must not null");
|
throw new IllegalArgumentException("visitorPort must not null");
|
||||||
}
|
}
|
||||||
InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor = new InternalNetworkClientPermeateServerVisitor();
|
NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor = new NettyClientPermeateServerVisitor();
|
||||||
|
|
||||||
internalNetworkClientPermeateServerVisitor.setTargetIp(clientTargetIp);
|
nettyClientPermeateServerVisitor.setTargetIp(clientTargetIp);
|
||||||
internalNetworkClientPermeateServerVisitor.setTargetPort(clientTargetPort);
|
nettyClientPermeateServerVisitor.setTargetPort(clientTargetPort);
|
||||||
internalNetworkClientPermeateServerVisitor.setVisitorPort(visitorPort);
|
nettyClientPermeateServerVisitor.setVisitorPort(visitorPort);
|
||||||
internalNetworkClientPermeateServerVisitor.setNettyClientProperties(nettyClientProperties);
|
nettyClientPermeateServerVisitor.setNettyClientProperties(nettyClientProperties);
|
||||||
internalNetworkClientPermeateServerVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
nettyClientPermeateServerVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
||||||
|
|
||||||
|
|
||||||
NettyTcpClientPermeateServerVisitorFilter nettyTcpClientPermeateServerVisitorFilter = new NettyTcpClientPermeateServerVisitorFilter(internalNetworkClientPermeateServerVisitor);
|
NettyTcpClientPermeateServerVisitorFilter nettyTcpClientPermeateServerVisitorFilter = new NettyTcpClientPermeateServerVisitorFilter(nettyClientPermeateServerVisitor);
|
||||||
return new NettyTcpClientPermeateServerVisitorSocket(nettyTcpClientPermeateServerVisitorFilter, clientId, visitorPort);
|
return new NettyTcpClientPermeateServerVisitorSocket(nettyTcpClientPermeateServerVisitorFilter, clientId, visitorPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import io.netty.channel.nio.NioEventLoopGroup;
|
|||||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateServerTransferFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateServerTransferFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType;
|
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.NettyProxyMsg;
|
||||||
@ -26,9 +26,9 @@ public class NettyTcpClientPermeateServerVisitorTransferSocket {
|
|||||||
/**
|
/**
|
||||||
* 连接服务端通信通道
|
* 连接服务端通信通道
|
||||||
* <p>
|
* <p>
|
||||||
* internalNetworkClientPermeateServerVisitor
|
* nettyClientPermeateServerVisitor
|
||||||
*/
|
*/
|
||||||
public static void buildTransferServer(InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor, Channel visitorChannel) {
|
public static void buildTransferServer(NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor, Channel visitorChannel) {
|
||||||
|
|
||||||
Bootstrap bootstrap = new Bootstrap();
|
Bootstrap bootstrap = new Bootstrap();
|
||||||
bootstrap.group(eventLoopGroup)
|
bootstrap.group(eventLoopGroup)
|
||||||
@ -45,20 +45,20 @@ public class NettyTcpClientPermeateServerVisitorTransferSocket {
|
|||||||
|
|
||||||
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
||||||
|
|
||||||
.handler(new NettyTcpClientPermeateServerTransferFilter(new ChannelTypeAdapter(internalNetworkClientPermeateServerVisitor.getHandleChannelTypeAdvancedList())))
|
.handler(new NettyTcpClientPermeateServerTransferFilter(new ChannelTypeAdapter(nettyClientPermeateServerVisitor.getHandleChannelTypeAdvancedList())))
|
||||||
;
|
;
|
||||||
NettyClientProperties nettyClientProperties = internalNetworkClientPermeateServerVisitor.getNettyClientProperties();
|
NettyClientProperties nettyClientProperties = nettyClientPermeateServerVisitor.getNettyClientProperties();
|
||||||
String inetHost = nettyClientProperties.getInetHost();
|
String inetHost = nettyClientProperties.getInetHost();
|
||||||
int inetPort = nettyClientProperties.getInetPort();
|
int inetPort = nettyClientProperties.getInetPort();
|
||||||
// local client id
|
// local client id
|
||||||
|
|
||||||
String clientId = nettyClientProperties.getClientId();
|
String clientId = nettyClientProperties.getClientId();
|
||||||
|
|
||||||
String targetIp = internalNetworkClientPermeateServerVisitor.getTargetIp();
|
String targetIp = nettyClientPermeateServerVisitor.getTargetIp();
|
||||||
Integer targetPort = internalNetworkClientPermeateServerVisitor.getTargetPort();
|
Integer targetPort = nettyClientPermeateServerVisitor.getTargetPort();
|
||||||
|
|
||||||
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
||||||
Integer visitorPort = internalNetworkClientPermeateServerVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateServerVisitor.getVisitorPort();
|
||||||
|
|
||||||
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
||||||
log.debug("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {}", inetHost, inetPort);
|
log.debug("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {}", inetHost, inetPort);
|
||||||
@ -89,7 +89,7 @@ public class NettyTcpClientPermeateServerVisitorTransferSocket {
|
|||||||
log.warn("客户端渗透服务端通信通道中断....");
|
log.warn("客户端渗透服务端通信通道中断....");
|
||||||
eventLoopGroup.schedule(() -> {
|
eventLoopGroup.schedule(() -> {
|
||||||
try {
|
try {
|
||||||
buildTransferServer(internalNetworkClientPermeateServerVisitor, visitorChannel);
|
buildTransferServer(nettyClientPermeateServerVisitor, visitorChannel);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType;
|
import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.AbstractUdpHandleChannelHeartbeatTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.AbstractUdpHandleChannelHeartbeatTypeAdvanced;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -6,7 +6,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeServicePermeateClientTransferTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeServicePermeateClientTransferTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import io.netty.channel.Channel;
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
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.ChannelContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpClientChannelActiveAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpClientChannelActiveAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientPermeateClientCloseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientPermeateClientCloseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.socket.PermeateVisitorSocket;
|
import org.framework.lazy.cloud.network.heartbeat.common.socket.PermeateVisitorSocket;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientPrope
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateClientVisitorSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateClientVisitorSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientPermeateClientInitTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientPermeateClientInitTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.wu.framework.spring.utils.SpringContextHolder;
|
import org.wu.framework.spring.utils.SpringContextHolder;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientPermeateClientTransferCloseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientPermeateClientTransferCloseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientPermeateServerCloseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientPermeateServerCloseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.socket.PermeateVisitorSocket;
|
import org.framework.lazy.cloud.network.heartbeat.common.socket.PermeateVisitorSocket;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientPrope
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateServerVisitorSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateServerVisitorSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientPermeateServerInitTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientPermeateServerInitTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||||
import org.wu.framework.spring.utils.SpringContextHolder;
|
import org.wu.framework.spring.utils.SpringContextHolder;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientPermeateServerTransferCloseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientPermeateServerTransferCloseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientPermeateServerTransferTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientPermeateServerTransferTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientPrope
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateClientRealSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateClientRealSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientTransferClientPermeateChannelConnectionSuccessfulTypeAdvanced;
|
||||||
import org.wu.framework.spring.utils.SpringContextHolder;
|
import org.wu.framework.spring.utils.SpringContextHolder;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import io.netty.channel.ChannelOption;
|
import io.netty.channel.ChannelOption;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientTransferClientPermeateChannelInitSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientTransferClientRequestTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientTransferClientRequestTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.handler.NettyUdpClientPermeateServerVisitorHandler;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.handler.NettyUdpClientPermeateServerVisitorHandler;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateServerVisitorTransferSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateServerVisitorTransferSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeConnectSuccessNotificationTypeAdvancedHandle;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeConnectSuccessNotificationTypeAdvancedHandle;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.Channel;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.event.ClientChangeEvent;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeDisconnectTypeAdvancedHandle;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeDisconnectTypeAdvancedHandle;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -7,7 +7,7 @@ import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.sock
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPenetrationRealClient;
|
import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPenetrationRealClient;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeServicePermeateClientRealConnectTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeServicePermeateClientRealConnectTypeAdvanced;
|
||||||
import org.wu.framework.spring.utils.SpringContextHolder;
|
import org.wu.framework.spring.utils.SpringContextHolder;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeServicePermeateClientTransferClientResponseTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeServicePermeateClientTransferClientResponseTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
import org.framework.lazy.cloud.network.heartbeat.common.enums.UdpMessageTypeEnums;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeSingleClientMessageTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeSingleClientMessageTypeAdvanced;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 接收服务端发送过来的聊天信息
|
* 接收服务端发送过来的聊天信息
|
||||||
|
@ -5,7 +5,7 @@ import io.netty.channel.ChannelOption;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeSingleClientRealAutoReadConnectTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeSingleClientRealAutoReadConnectTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@ -5,7 +5,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyCommunicationIdContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyCommunicationIdContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyRealIdContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeSingleClientRealCloseVisitorTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeSingleClientRealCloseVisitorTypeAdvanced;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ClientHandleUdpDistributeSingleClientRealCloseVisitorTypeAdvanced extends AbstractHandleUdpDistributeSingleClientRealCloseVisitorTypeAdvanced<NettyProxyMsg> {
|
public class ClientHandleUdpDistributeSingleClientRealCloseVisitorTypeAdvanced extends AbstractHandleUdpDistributeSingleClientRealCloseVisitorTypeAdvanced<NettyProxyMsg> {
|
||||||
|
@ -3,7 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeStagingClosedTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeStagingClosedTypeAdvanced;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 服务端下发暂存关闭消息处理
|
* 服务端下发暂存关闭消息处理
|
||||||
|
@ -3,7 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.adv
|
|||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.udp.client.AbstractHandleUdpDistributeStagingOpenedTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.udp.client.AbstractHandleUdpDistributeStagingOpenedTypeAdvanced;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 服务端下发暂存开启消息处理
|
* 服务端下发暂存开启消息处理
|
||||||
|
@ -5,16 +5,16 @@ import io.netty.channel.ChannelDuplexHandler;
|
|||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelPipeline;
|
import io.netty.channel.ChannelPipeline;
|
||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateClientVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.handler.NettyUdpClientPermeateClientVisitorHandler;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.handler.NettyUdpClientPermeateClientVisitorHandler;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
||||||
|
|
||||||
public class NettyUdpClientPermeateClientVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
public class NettyUdpClientPermeateClientVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
||||||
|
|
||||||
private final InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor;
|
private final NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor;
|
||||||
|
|
||||||
public NettyUdpClientPermeateClientVisitorFilter(InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor) {
|
public NettyUdpClientPermeateClientVisitorFilter(NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor) {
|
||||||
this.internalNetworkClientPermeateClientVisitor = internalNetworkClientPermeateClientVisitor;
|
this.nettyClientPermeateClientVisitor = nettyClientPermeateClientVisitor;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,6 +31,6 @@ public class NettyUdpClientPermeateClientVisitorFilter extends DebugChannelIniti
|
|||||||
protected void initChannel0(SocketChannel ch) throws Exception {
|
protected void initChannel0(SocketChannel ch) throws Exception {
|
||||||
ChannelPipeline pipeline = ch.pipeline();
|
ChannelPipeline pipeline = ch.pipeline();
|
||||||
pipeline.addLast(new ChannelDuplexHandler());
|
pipeline.addLast(new ChannelDuplexHandler());
|
||||||
pipeline.addLast(new NettyUdpClientPermeateClientVisitorHandler(internalNetworkClientPermeateClientVisitor));
|
pipeline.addLast(new NettyUdpClientPermeateClientVisitorHandler(nettyClientPermeateClientVisitor));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,16 +5,16 @@ import io.netty.channel.ChannelDuplexHandler;
|
|||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelPipeline;
|
import io.netty.channel.ChannelPipeline;
|
||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.handler.NettyUdpClientPermeateServerVisitorHandler;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.handler.NettyUdpClientPermeateServerVisitorHandler;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
||||||
|
|
||||||
public class NettyUdpClientPermeateServerVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
public class NettyUdpClientPermeateServerVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
||||||
|
|
||||||
private final InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor;
|
private final NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor;
|
||||||
|
|
||||||
public NettyUdpClientPermeateServerVisitorFilter(InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor) {
|
public NettyUdpClientPermeateServerVisitorFilter(NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor) {
|
||||||
this.internalNetworkClientPermeateServerVisitor = internalNetworkClientPermeateServerVisitor;
|
this.nettyClientPermeateServerVisitor = nettyClientPermeateServerVisitor;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,6 +31,6 @@ public class NettyUdpClientPermeateServerVisitorFilter extends DebugChannelIniti
|
|||||||
protected void initChannel0(SocketChannel ch) throws Exception {
|
protected void initChannel0(SocketChannel ch) throws Exception {
|
||||||
ChannelPipeline pipeline = ch.pipeline();
|
ChannelPipeline pipeline = ch.pipeline();
|
||||||
pipeline.addLast(new ChannelDuplexHandler());
|
pipeline.addLast(new ChannelDuplexHandler());
|
||||||
pipeline.addLast(new NettyUdpClientPermeateServerVisitorHandler(internalNetworkClientPermeateServerVisitor));
|
pipeline.addLast(new NettyUdpClientPermeateServerVisitorHandler(nettyClientPermeateServerVisitor));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ import io.netty.channel.ChannelOption;
|
|||||||
import io.netty.channel.SimpleChannelInboundHandler;
|
import io.netty.channel.SimpleChannelInboundHandler;
|
||||||
import io.netty.util.internal.StringUtil;
|
import io.netty.util.internal.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateClientVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.advanced.ClientHandleUdpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.advanced.ClientHandleUdpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateClientVisitorTransferSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateClientVisitorTransferSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateServerVisitorTransferSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateServerVisitorTransferSocket;
|
||||||
@ -22,11 +22,11 @@ import java.util.UUID;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class NettyUdpClientPermeateClientVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
public class NettyUdpClientPermeateClientVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
||||||
private final InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor;
|
private final NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor;
|
||||||
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
||||||
|
|
||||||
public NettyUdpClientPermeateClientVisitorHandler(InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor) {
|
public NettyUdpClientPermeateClientVisitorHandler(NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor) {
|
||||||
this.internalNetworkClientPermeateClientVisitor = internalNetworkClientPermeateClientVisitor;
|
this.nettyClientPermeateClientVisitor = nettyClientPermeateClientVisitor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -53,7 +53,7 @@ public class NettyUdpClientPermeateClientVisitorHandler extends SimpleChannelInb
|
|||||||
// 判断是否有可用的通道 如果没有创建新的通道
|
// 判断是否有可用的通道 如果没有创建新的通道
|
||||||
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
||||||
// 创建访客连接客户端通道
|
// 创建访客连接客户端通道
|
||||||
NettyUdpClientPermeateClientVisitorTransferSocket.buildTransferServer(internalNetworkClientPermeateClientVisitor,visitorChannel);
|
NettyUdpClientPermeateClientVisitorTransferSocket.buildTransferServer(nettyClientPermeateClientVisitor,visitorChannel);
|
||||||
log.info("客户端渗透客户端访客:【{}】端口连接成功了",visitorId);
|
log.info("客户端渗透客户端访客:【{}】端口连接成功了",visitorId);
|
||||||
super.channelActive(ctx);
|
super.channelActive(ctx);
|
||||||
}
|
}
|
||||||
@ -72,8 +72,8 @@ public class NettyUdpClientPermeateClientVisitorHandler extends SimpleChannelInb
|
|||||||
log.debug("【客户端渗透客户端】访客端口成功接收数据:{}", new String(bytes));
|
log.debug("【客户端渗透客户端】访客端口成功接收数据:{}", new String(bytes));
|
||||||
|
|
||||||
// 使用访客的通信通道
|
// 使用访客的通信通道
|
||||||
Integer visitorPort = internalNetworkClientPermeateClientVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateClientVisitor.getVisitorPort();
|
||||||
String clientId = internalNetworkClientPermeateClientVisitor.getNettyClientProperties().getClientId();
|
String clientId = nettyClientPermeateClientVisitor.getNettyClientProperties().getClientId();
|
||||||
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
||||||
nettyProxyMsg.setType(UdpMessageType.UDP_REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST);
|
nettyProxyMsg.setType(UdpMessageType.UDP_REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_REQUEST);
|
||||||
nettyProxyMsg.setVisitorId(visitorId);
|
nettyProxyMsg.setVisitorId(visitorId);
|
||||||
|
@ -8,7 +8,7 @@ import io.netty.channel.ChannelOption;
|
|||||||
import io.netty.channel.SimpleChannelInboundHandler;
|
import io.netty.channel.SimpleChannelInboundHandler;
|
||||||
import io.netty.util.internal.StringUtil;
|
import io.netty.util.internal.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.advanced.ClientHandleUdpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.advanced.ClientHandleUdpDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateServerVisitorTransferSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.socket.NettyUdpClientPermeateServerVisitorTransferSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType;
|
import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType;
|
||||||
@ -19,11 +19,11 @@ import java.util.UUID;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class NettyUdpClientPermeateServerVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
public class NettyUdpClientPermeateServerVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
||||||
private final InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor;
|
private final NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor;
|
||||||
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
||||||
|
|
||||||
public NettyUdpClientPermeateServerVisitorHandler(InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor) {
|
public NettyUdpClientPermeateServerVisitorHandler(NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor) {
|
||||||
this.internalNetworkClientPermeateServerVisitor = internalNetworkClientPermeateServerVisitor;
|
this.nettyClientPermeateServerVisitor = nettyClientPermeateServerVisitor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,14 +41,14 @@ public class NettyUdpClientPermeateServerVisitorHandler extends SimpleChannelInb
|
|||||||
|
|
||||||
// 生成访客ID
|
// 生成访客ID
|
||||||
String visitorId = UUID.randomUUID().toString();
|
String visitorId = UUID.randomUUID().toString();
|
||||||
Integer visitorPort = internalNetworkClientPermeateServerVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateServerVisitor.getVisitorPort();
|
||||||
|
|
||||||
log.info("this channel with visitor port:{} use visitorId:{}", visitorPort, visitorId);
|
log.info("this channel with visitor port:{} use visitorId:{}", visitorPort, visitorId);
|
||||||
ChannelAttributeKeyUtils.buildVisitorId(visitorChannel, visitorId);
|
ChannelAttributeKeyUtils.buildVisitorId(visitorChannel, visitorId);
|
||||||
// 判断是否有可用的通道 如果没有创建新的通道
|
// 判断是否有可用的通道 如果没有创建新的通道
|
||||||
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
||||||
// 创建访客连接服务端通道
|
// 创建访客连接服务端通道
|
||||||
NettyUdpClientPermeateServerVisitorTransferSocket.buildTransferServer(internalNetworkClientPermeateServerVisitor,visitorChannel);
|
NettyUdpClientPermeateServerVisitorTransferSocket.buildTransferServer(nettyClientPermeateServerVisitor,visitorChannel);
|
||||||
log.debug("客户端渗透服务端访客端口连接成功了,访客ID:{}", visitorId);
|
log.debug("客户端渗透服务端访客端口连接成功了,访客ID:{}", visitorId);
|
||||||
super.channelActive(ctx);
|
super.channelActive(ctx);
|
||||||
}
|
}
|
||||||
@ -67,8 +67,8 @@ public class NettyUdpClientPermeateServerVisitorHandler extends SimpleChannelInb
|
|||||||
log.debug("【客户端渗透服务端】访客端口成功接收数据:{}", new String(bytes));
|
log.debug("【客户端渗透服务端】访客端口成功接收数据:{}", new String(bytes));
|
||||||
|
|
||||||
// 使用访客的通信通道
|
// 使用访客的通信通道
|
||||||
Integer visitorPort = internalNetworkClientPermeateServerVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateServerVisitor.getVisitorPort();
|
||||||
String clientId = internalNetworkClientPermeateServerVisitor.getNettyClientProperties().getClientId();
|
String clientId = nettyClientPermeateServerVisitor.getNettyClientProperties().getClientId();
|
||||||
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
||||||
nettyProxyMsg.setType(UdpMessageType.UDP_REPORT_CLIENT_PERMEATE_SERVER_TRANSFER);
|
nettyProxyMsg.setType(UdpMessageType.UDP_REPORT_CLIENT_PERMEATE_SERVER_TRANSFER);
|
||||||
nettyProxyMsg.setVisitorId(visitorId);
|
nettyProxyMsg.setVisitorId(visitorId);
|
||||||
|
@ -6,7 +6,7 @@ import io.netty.channel.socket.nio.NioServerSocketChannel;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateClientVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.filter.NettyUdpClientPermeateClientVisitorFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.filter.NettyUdpClientPermeateClientVisitorFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
||||||
@ -265,19 +265,19 @@ public class NettyUdpClientPermeateClientVisitorSocket implements PermeateVisito
|
|||||||
if (visitorPort == null) {
|
if (visitorPort == null) {
|
||||||
throw new IllegalArgumentException("visitorPort must not null");
|
throw new IllegalArgumentException("visitorPort must not null");
|
||||||
}
|
}
|
||||||
InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor = new InternalNetworkClientPermeateClientVisitor();
|
NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor = new NettyClientPermeateClientVisitor();
|
||||||
|
|
||||||
internalNetworkClientPermeateClientVisitor.setFromClientId(nettyClientProperties.getClientId());
|
nettyClientPermeateClientVisitor.setFromClientId(nettyClientProperties.getClientId());
|
||||||
internalNetworkClientPermeateClientVisitor.setToClientId(toClientId);
|
nettyClientPermeateClientVisitor.setToClientId(toClientId);
|
||||||
internalNetworkClientPermeateClientVisitor.setTargetIp(clientTargetIp);
|
nettyClientPermeateClientVisitor.setTargetIp(clientTargetIp);
|
||||||
internalNetworkClientPermeateClientVisitor.setTargetPort(clientTargetPort);
|
nettyClientPermeateClientVisitor.setTargetPort(clientTargetPort);
|
||||||
internalNetworkClientPermeateClientVisitor.setVisitorPort(visitorPort);
|
nettyClientPermeateClientVisitor.setVisitorPort(visitorPort);
|
||||||
internalNetworkClientPermeateClientVisitor.setNettyClientProperties(nettyClientProperties);
|
nettyClientPermeateClientVisitor.setNettyClientProperties(nettyClientProperties);
|
||||||
internalNetworkClientPermeateClientVisitor.setChannelFlowAdapter(channelFlowAdapter);
|
nettyClientPermeateClientVisitor.setChannelFlowAdapter(channelFlowAdapter);
|
||||||
internalNetworkClientPermeateClientVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
nettyClientPermeateClientVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
||||||
|
|
||||||
|
|
||||||
NettyUdpClientPermeateClientVisitorFilter visitorFilter = new NettyUdpClientPermeateClientVisitorFilter(internalNetworkClientPermeateClientVisitor);
|
NettyUdpClientPermeateClientVisitorFilter visitorFilter = new NettyUdpClientPermeateClientVisitorFilter(nettyClientPermeateClientVisitor);
|
||||||
return new NettyUdpClientPermeateClientVisitorSocket(visitorFilter, clientId, visitorPort);
|
return new NettyUdpClientPermeateClientVisitorSocket(visitorFilter, clientId, visitorPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import io.netty.channel.nio.NioEventLoopGroup;
|
|||||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
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.client.netty.permeate.udp.filter.NettyUdpClientPermeateClientTransferFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType;
|
import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
@ -26,7 +26,7 @@ public class NettyUdpClientPermeateClientVisitorTransferSocket {
|
|||||||
/**
|
/**
|
||||||
* 连接服务端通信通道
|
* 连接服务端通信通道
|
||||||
*/
|
*/
|
||||||
public static void buildTransferServer(InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor, Channel visitorChannel) {
|
public static void buildTransferServer(NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor, Channel visitorChannel) {
|
||||||
|
|
||||||
|
|
||||||
Bootstrap bootstrap = new Bootstrap();
|
Bootstrap bootstrap = new Bootstrap();
|
||||||
@ -43,21 +43,21 @@ public class NettyUdpClientPermeateClientVisitorTransferSocket {
|
|||||||
// .option(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT
|
// .option(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT
|
||||||
|
|
||||||
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
||||||
.handler(new NettyUdpClientPermeateClientTransferFilter(new ChannelTypeAdapter(internalNetworkClientPermeateClientVisitor.getHandleChannelTypeAdvancedList())))
|
.handler(new NettyUdpClientPermeateClientTransferFilter(new ChannelTypeAdapter(nettyClientPermeateClientVisitor.getHandleChannelTypeAdvancedList())))
|
||||||
;
|
;
|
||||||
NettyClientProperties nettyClientProperties = internalNetworkClientPermeateClientVisitor.getNettyClientProperties();
|
NettyClientProperties nettyClientProperties = nettyClientPermeateClientVisitor.getNettyClientProperties();
|
||||||
String inetHost = nettyClientProperties.getInetHost();
|
String inetHost = nettyClientProperties.getInetHost();
|
||||||
int inetPort = nettyClientProperties.getInetPort();
|
int inetPort = nettyClientProperties.getInetPort();
|
||||||
// local client id
|
// local client id
|
||||||
|
|
||||||
String clientId = nettyClientProperties.getClientId();
|
String clientId = nettyClientProperties.getClientId();
|
||||||
|
|
||||||
String targetIp = internalNetworkClientPermeateClientVisitor.getTargetIp();
|
String targetIp = nettyClientPermeateClientVisitor.getTargetIp();
|
||||||
Integer targetPort = internalNetworkClientPermeateClientVisitor.getTargetPort();
|
Integer targetPort = nettyClientPermeateClientVisitor.getTargetPort();
|
||||||
|
|
||||||
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
||||||
Integer visitorPort = internalNetworkClientPermeateClientVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateClientVisitor.getVisitorPort();
|
||||||
String toClientId = internalNetworkClientPermeateClientVisitor.getToClientId();
|
String toClientId = nettyClientPermeateClientVisitor.getToClientId();
|
||||||
|
|
||||||
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
||||||
log.info("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {} with clientId:【{}】 toClientId:【{}】 & visitorId:【{}】", inetHost, inetPort, clientId, toClientId, visitorId);
|
log.info("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {} with clientId:【{}】 toClientId:【{}】 & visitorId:【{}】", inetHost, inetPort, clientId, toClientId, visitorId);
|
||||||
@ -90,7 +90,7 @@ public class NettyUdpClientPermeateClientVisitorTransferSocket {
|
|||||||
log.info("无法连接到服务端....");
|
log.info("无法连接到服务端....");
|
||||||
eventLoopGroup.schedule(() -> {
|
eventLoopGroup.schedule(() -> {
|
||||||
try {
|
try {
|
||||||
buildTransferServer(internalNetworkClientPermeateClientVisitor, visitorChannel);
|
buildTransferServer(nettyClientPermeateClientVisitor, visitorChannel);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ import io.netty.channel.socket.nio.NioServerSocketChannel;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.filter.NettyUdpClientPermeateServerVisitorFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.filter.NettyUdpClientPermeateServerVisitorFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
||||||
@ -214,16 +214,16 @@ public class NettyUdpClientPermeateServerVisitorSocket implements PermeateVisito
|
|||||||
if (visitorPort == null) {
|
if (visitorPort == null) {
|
||||||
throw new IllegalArgumentException("visitorPort must not null");
|
throw new IllegalArgumentException("visitorPort must not null");
|
||||||
}
|
}
|
||||||
InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor = new InternalNetworkClientPermeateServerVisitor();
|
NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor = new NettyClientPermeateServerVisitor();
|
||||||
|
|
||||||
internalNetworkClientPermeateServerVisitor.setTargetIp(clientTargetIp);
|
nettyClientPermeateServerVisitor.setTargetIp(clientTargetIp);
|
||||||
internalNetworkClientPermeateServerVisitor.setTargetPort(clientTargetPort);
|
nettyClientPermeateServerVisitor.setTargetPort(clientTargetPort);
|
||||||
internalNetworkClientPermeateServerVisitor.setVisitorPort(visitorPort);
|
nettyClientPermeateServerVisitor.setVisitorPort(visitorPort);
|
||||||
internalNetworkClientPermeateServerVisitor.setNettyClientProperties(nettyClientProperties);
|
nettyClientPermeateServerVisitor.setNettyClientProperties(nettyClientProperties);
|
||||||
internalNetworkClientPermeateServerVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
nettyClientPermeateServerVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
||||||
|
|
||||||
|
|
||||||
NettyUdpClientPermeateServerVisitorFilter nettyUdpClientPermeateServerVisitorFilter = new NettyUdpClientPermeateServerVisitorFilter(internalNetworkClientPermeateServerVisitor);
|
NettyUdpClientPermeateServerVisitorFilter nettyUdpClientPermeateServerVisitorFilter = new NettyUdpClientPermeateServerVisitorFilter(nettyClientPermeateServerVisitor);
|
||||||
return new NettyUdpClientPermeateServerVisitorSocket(nettyUdpClientPermeateServerVisitorFilter, clientId, visitorPort);
|
return new NettyUdpClientPermeateServerVisitorSocket(nettyUdpClientPermeateServerVisitorFilter, clientId, visitorPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import io.netty.channel.nio.NioEventLoopGroup;
|
|||||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.filter.NettyUdpClientPermeateServerTransferFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.udp.filter.NettyUdpClientPermeateServerTransferFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType;
|
import org.framework.lazy.cloud.network.heartbeat.common.constant.UdpMessageType;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
@ -26,9 +26,9 @@ public class NettyUdpClientPermeateServerVisitorTransferSocket {
|
|||||||
/**
|
/**
|
||||||
* 连接服务端通信通道
|
* 连接服务端通信通道
|
||||||
* <p>
|
* <p>
|
||||||
* internalNetworkClientPermeateServerVisitor
|
* nettyClientPermeateServerVisitor
|
||||||
*/
|
*/
|
||||||
public static void buildTransferServer(InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor, Channel visitorChannel) {
|
public static void buildTransferServer(NettyClientPermeateServerVisitor nettyClientPermeateServerVisitor, Channel visitorChannel) {
|
||||||
|
|
||||||
Bootstrap bootstrap = new Bootstrap();
|
Bootstrap bootstrap = new Bootstrap();
|
||||||
bootstrap.group(eventLoopGroup)
|
bootstrap.group(eventLoopGroup)
|
||||||
@ -45,20 +45,20 @@ public class NettyUdpClientPermeateServerVisitorTransferSocket {
|
|||||||
|
|
||||||
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
||||||
|
|
||||||
.handler(new NettyUdpClientPermeateServerTransferFilter(new ChannelTypeAdapter(internalNetworkClientPermeateServerVisitor.getHandleChannelTypeAdvancedList())))
|
.handler(new NettyUdpClientPermeateServerTransferFilter(new ChannelTypeAdapter(nettyClientPermeateServerVisitor.getHandleChannelTypeAdvancedList())))
|
||||||
;
|
;
|
||||||
NettyClientProperties nettyClientProperties = internalNetworkClientPermeateServerVisitor.getNettyClientProperties();
|
NettyClientProperties nettyClientProperties = nettyClientPermeateServerVisitor.getNettyClientProperties();
|
||||||
String inetHost = nettyClientProperties.getInetHost();
|
String inetHost = nettyClientProperties.getInetHost();
|
||||||
int inetPort = nettyClientProperties.getInetPort();
|
int inetPort = nettyClientProperties.getInetPort();
|
||||||
// local client id
|
// local client id
|
||||||
|
|
||||||
String clientId = nettyClientProperties.getClientId();
|
String clientId = nettyClientProperties.getClientId();
|
||||||
|
|
||||||
String targetIp = internalNetworkClientPermeateServerVisitor.getTargetIp();
|
String targetIp = nettyClientPermeateServerVisitor.getTargetIp();
|
||||||
Integer targetPort = internalNetworkClientPermeateServerVisitor.getTargetPort();
|
Integer targetPort = nettyClientPermeateServerVisitor.getTargetPort();
|
||||||
|
|
||||||
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
||||||
Integer visitorPort = internalNetworkClientPermeateServerVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateServerVisitor.getVisitorPort();
|
||||||
|
|
||||||
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
||||||
log.debug("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {}", inetHost, inetPort);
|
log.debug("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {}", inetHost, inetPort);
|
||||||
@ -89,7 +89,7 @@ public class NettyUdpClientPermeateServerVisitorTransferSocket {
|
|||||||
log.warn("客户端渗透服务端通信通道中断....");
|
log.warn("客户端渗透服务端通信通道中断....");
|
||||||
eventLoopGroup.schedule(() -> {
|
eventLoopGroup.schedule(() -> {
|
||||||
try {
|
try {
|
||||||
buildTransferServer(internalNetworkClientPermeateServerVisitor, visitorChannel);
|
buildTransferServer(nettyClientPermeateServerVisitor, visitorChannel);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
package org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeate;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户端代理服务端配置信息
|
||||||
|
*/
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public class NettyHttpClientProxyServer {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目标地址
|
||||||
|
*/
|
||||||
|
private String targetIp;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目标端口
|
||||||
|
*/
|
||||||
|
private Integer targetPort;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务端地址信息
|
||||||
|
*/
|
||||||
|
private NettyClientProperties nettyClientProperties;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通道处理器
|
||||||
|
*/
|
||||||
|
private List<HandleChannelTypeAdvanced> handleChannelTypeAdvancedList;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送数据
|
||||||
|
*/
|
||||||
|
private byte[] data;
|
||||||
|
/**
|
||||||
|
* 是否是ssl
|
||||||
|
*/
|
||||||
|
private boolean isSsl;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
package org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.advanced;
|
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import io.netty.channel.Channel;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.client.AbstractHandleHttpDistributeClientProxyServerTransferTypeAdvanced;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* http 远程代理
|
||||||
|
* 客户端:客户端远程到服务端、客户端远程到客户端
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
public class ClientHandleDistributeHttpClientProxyServerTransferTypeAdvanced extends
|
||||||
|
AbstractHandleHttpDistributeClientProxyServerTransferTypeAdvanced<NettyProxyMsg> {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理当前数据
|
||||||
|
*
|
||||||
|
* @param channel 当前通道
|
||||||
|
* @param nettyProxyMsg 通道数据
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) {
|
||||||
|
|
||||||
|
String visitorId = ChannelAttributeKeyUtils.getVisitorId(channel);
|
||||||
|
Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(channel);
|
||||||
|
if (nextChannel == null) {
|
||||||
|
log.error("无法获取访客:{} 真实服务", visitorId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 把数据转到真实服务
|
||||||
|
ByteBuf buf = channel.config().getAllocator().buffer(nettyProxyMsg.getData().length);
|
||||||
|
buf.writeBytes(nettyProxyMsg.getData());
|
||||||
|
|
||||||
|
nextChannel.writeAndFlush(buf);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -9,7 +9,7 @@ import io.netty.channel.ChannelInitializer;
|
|||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.protocol.http.AbstractHttpProtocolHandleChannelRemoteProxyTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.AbstractHttpClientProxyClientTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.decoder.TransferDecoder;
|
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.encoder.TransferEncoder;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
@ -23,7 +23,8 @@ import org.framework.lazy.cloud.network.heartbeat.protocol.route.RouteType;
|
|||||||
* 客户端:客户端远程到服务端、客户端远程到客户端
|
* 客户端:客户端远程到服务端、客户端远程到客户端
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class HttpClientProtocolHandleChannelRemoteProxyTypeAdvanced extends AbstractHttpProtocolHandleChannelRemoteProxyTypeAdvanced<NettyProxyMsg> {
|
public class ClientHandleHttpClientProxyClientTypeAdvanced extends
|
||||||
|
AbstractHttpClientProxyClientTypeAdvanced<NettyProxyMsg> {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -39,10 +40,10 @@ public class HttpClientProtocolHandleChannelRemoteProxyTypeAdvanced extends Abst
|
|||||||
String targetIpString = nettyProxyMsg.getTargetIpString();
|
String targetIpString = nettyProxyMsg.getTargetIpString();
|
||||||
// 判断代理到客户端还是服务端
|
// 判断代理到客户端还是服务端
|
||||||
ProxyRoute route = RouteContext.getRoute(targetIpString, targetPortString);
|
ProxyRoute route = RouteContext.getRoute(targetIpString, targetPortString);
|
||||||
if(RouteType.REMOTE_SEVER.equals(route.getRouteType())){
|
if(RouteType.CLIENT_PROXY_SEVER.equals(route.getRouteType())){
|
||||||
// 服务端代理
|
// 服务端代理
|
||||||
|
|
||||||
}else if (RouteType.REMOTE_CLIENT.equals(route.getRouteType())){
|
}else if (RouteType.CLIENT_PROXY_CLIENT.equals(route.getRouteType())){
|
||||||
// 客户端代理
|
// 客户端代理
|
||||||
}
|
}
|
||||||
Bootstrap b = new Bootstrap();
|
Bootstrap b = new Bootstrap();
|
@ -0,0 +1,51 @@
|
|||||||
|
package org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.advanced;
|
||||||
|
|
||||||
|
import io.netty.channel.Channel;
|
||||||
|
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.socket.NettyHttpClientProxyServerTransferSocket;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.http.AbstractHttpClientProxyServerTypeAdvanced;
|
||||||
|
import org.wu.framework.spring.utils.SpringContextHolder;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* http 远程代理
|
||||||
|
* 客户端:客户端远程到服务端、客户端远程到客户端
|
||||||
|
*/
|
||||||
|
public class ClientHandleHttpClientProxyServerTypeAdvanced extends
|
||||||
|
AbstractHttpClientProxyServerTypeAdvanced<NettyProxyMsg> {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理当前数据
|
||||||
|
*
|
||||||
|
* @param channel 当前通道
|
||||||
|
* @param nettyProxyMsg 通道数据
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void doHandler(Channel channel, NettyProxyMsg nettyProxyMsg) {
|
||||||
|
|
||||||
|
String targetPortString = nettyProxyMsg.getTargetPortString();
|
||||||
|
String targetIpString = nettyProxyMsg.getTargetIpString();
|
||||||
|
byte[] data = nettyProxyMsg.getData();
|
||||||
|
List<HandleChannelTypeAdvanced> handleChannelTypeAdvancedList = new ArrayList<>(SpringContextHolder.getApplicationContext().getBeansOfType(HandleChannelTypeAdvanced.class).values());
|
||||||
|
NettyClientProperties nettyClientProperties = SpringContextHolder.getBean(NettyClientProperties.class);
|
||||||
|
// 判断代理到客户端还是服务端
|
||||||
|
NettyHttpClientProxyServer nettyHttpClientProxyServer = new NettyHttpClientProxyServer();
|
||||||
|
nettyHttpClientProxyServer.setSsl(false);
|
||||||
|
nettyHttpClientProxyServer.setTargetIp(targetIpString);
|
||||||
|
nettyHttpClientProxyServer.setTargetPort(Integer.parseInt(targetPortString));
|
||||||
|
|
||||||
|
|
||||||
|
nettyHttpClientProxyServer.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
||||||
|
nettyHttpClientProxyServer.setNettyClientProperties(nettyClientProperties);
|
||||||
|
nettyHttpClientProxyServer.setData(data);
|
||||||
|
|
||||||
|
NettyHttpClientProxyServerTransferSocket.buildTransferServer(nettyHttpClientProxyServer, channel);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
package org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.filter;
|
||||||
|
|
||||||
|
import io.netty.channel.Channel;
|
||||||
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
|
import io.netty.channel.ChannelPipeline;
|
||||||
|
import io.netty.channel.socket.SocketChannel;
|
||||||
|
import io.netty.handler.timeout.IdleStateHandler;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.handler.NettyTcpClientPermeateClientTransferHandler;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.handler.NettyHttpClientProxyServerTransferHandler;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelTypeAdapter;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.decoder.NettyProxyMsgDecoder;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.encoder.NettyProxyMsgEncoder;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* netty 客户端代理服务端数据传输通道
|
||||||
|
*/
|
||||||
|
public class NettyHttpClientProxyServerTransferFilter extends DebugChannelInitializer<SocketChannel> {
|
||||||
|
private final ChannelTypeAdapter channelTypeAdapter;
|
||||||
|
|
||||||
|
public NettyHttpClientProxyServerTransferFilter(ChannelTypeAdapter channelTypeAdapter) {
|
||||||
|
this.channelTypeAdapter = channelTypeAdapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method will be called once the {@link Channel} was registered. After the method returns this instance
|
||||||
|
* will be removed from the {@link ChannelPipeline} of the {@link Channel}.
|
||||||
|
*
|
||||||
|
* @param ch the {@link Channel} which was registered.
|
||||||
|
* @throws Exception is thrown if an error occurs. In that case it will be handled by
|
||||||
|
* {@link #exceptionCaught(ChannelHandlerContext, Throwable)} which will by default connectionClose
|
||||||
|
* the {@link Channel}.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void initChannel0(SocketChannel ch) throws Exception {
|
||||||
|
ChannelPipeline pipeline = ch.pipeline();
|
||||||
|
// // 解码、编码
|
||||||
|
// pipeline.addLast(new NettyProxyMsgDecoder(Integer.MAX_VALUE, 0, 4, -4, 0));
|
||||||
|
// pipeline.addLast(new NettMsgEncoder());
|
||||||
|
|
||||||
|
pipeline.addLast(new IdleStateHandler(0, 4, 0));
|
||||||
|
|
||||||
|
pipeline.addLast(new NettyProxyMsgDecoder(Integer.MAX_VALUE, 0, 4, -4, 0));
|
||||||
|
pipeline.addLast(new NettyProxyMsgEncoder());
|
||||||
|
pipeline.addLast(new NettyHttpClientProxyServerTransferHandler(channelTypeAdapter));
|
||||||
|
}
|
||||||
|
}
|
@ -83,13 +83,13 @@ public class NettyClientHttpProxy extends AbstractNettyHttpProxyActuator impleme
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
return proxyChannel;
|
return proxyChannel;
|
||||||
} else if (RouteType.REMOTE_SEVER.equals(routeType)) {
|
} else if (RouteType.CLIENT_PROXY_SEVER.equals(routeType)) {
|
||||||
// 创建服务端端链接
|
// 创建服务端端链接
|
||||||
// NettyHttpClientProxyServerTransferSocket.buildTransferServer(internalNetworkClientPermeateClientVisitor,originChannel);
|
// NettyHttpClientProxyServerTransferSocket.buildTransferServer(internalNetworkClientPermeateClientVisitor,originChannel);
|
||||||
// 发送数据
|
// 发送数据
|
||||||
// 返回响应结果
|
// 返回响应结果
|
||||||
|
|
||||||
} else if (RouteType.REMOTE_CLIENT.equals(routeType)) {
|
} else if (RouteType.CLIENT_PROXY_CLIENT.equals(routeType)) {
|
||||||
// 获取客户端ID
|
// 获取客户端ID
|
||||||
// 创建服务端链接
|
// 创建服务端链接
|
||||||
// 服务端创建客户端链接
|
// 服务端创建客户端链接
|
||||||
|
@ -0,0 +1,70 @@
|
|||||||
|
package org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.handler;
|
||||||
|
|
||||||
|
|
||||||
|
import io.netty.channel.Channel;
|
||||||
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
|
import io.netty.channel.SimpleChannelInboundHandler;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
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.adapter.ChannelTypeAdapter;
|
||||||
|
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户端访客通信通道 处理器
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
public class NettyHttpClientProxyServerTransferHandler extends SimpleChannelInboundHandler<NettyProxyMsg> {
|
||||||
|
private final ChannelTypeAdapter channelTypeAdapter;
|
||||||
|
|
||||||
|
public NettyHttpClientProxyServerTransferHandler(ChannelTypeAdapter channelTypeAdapter) {
|
||||||
|
this.channelTypeAdapter = channelTypeAdapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
||||||
|
super.channelActive(ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void channelRead0(ChannelHandlerContext ctx, NettyProxyMsg nettyProxyMsg) throws Exception {
|
||||||
|
Channel channel = ctx.channel();
|
||||||
|
channelTypeAdapter.handler(channel, nettyProxyMsg);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void channelInactive(ChannelHandlerContext ctx) throws Exception {
|
||||||
|
|
||||||
|
String clientId = ChannelAttributeKeyUtils.getClientId(ctx.channel());
|
||||||
|
String visitorId = ChannelAttributeKeyUtils.getVisitorId(ctx.channel());
|
||||||
|
// 关闭访客
|
||||||
|
Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(ctx.channel());
|
||||||
|
if (nextChannel != null) {
|
||||||
|
// 上报关闭这个客户端的访客通道
|
||||||
|
NettyProxyMsg closeVisitorMsg = new NettyProxyMsg();
|
||||||
|
closeVisitorMsg.setType(TcpMessageType.TCP_REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE);
|
||||||
|
closeVisitorMsg.setVisitorId(visitorId);
|
||||||
|
nextChannel.writeAndFlush(closeVisitorMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
super.channelInactive(ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception {
|
||||||
|
if (ctx.channel().isWritable()) {
|
||||||
|
log.debug("Channel is writable again");
|
||||||
|
// 恢复之前暂停的操作,如写入数据
|
||||||
|
} else {
|
||||||
|
log.debug("Channel is not writable");
|
||||||
|
// 暂停写入操作,等待可写状态
|
||||||
|
}
|
||||||
|
log.info("channelWritabilityChanged!");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
|
||||||
|
super.exceptionCaught(ctx, cause);
|
||||||
|
}
|
||||||
|
}
|
@ -7,7 +7,7 @@ import io.netty.channel.nio.NioEventLoopGroup;
|
|||||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.NettyClientPermeateClientVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateClientTransferFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateClientTransferFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType;
|
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.NettyProxyMsg;
|
||||||
@ -26,7 +26,7 @@ public class NettyHttpClientProxyClientTransferSocket {
|
|||||||
/**
|
/**
|
||||||
* 连接服务端通信通道
|
* 连接服务端通信通道
|
||||||
*/
|
*/
|
||||||
public static void buildTransferServer(InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor, Channel visitorChannel) {
|
public static void buildTransferServer(NettyClientPermeateClientVisitor nettyClientPermeateClientVisitor, Channel visitorChannel) {
|
||||||
|
|
||||||
|
|
||||||
Bootstrap bootstrap = new Bootstrap();
|
Bootstrap bootstrap = new Bootstrap();
|
||||||
@ -43,21 +43,21 @@ public class NettyHttpClientProxyClientTransferSocket {
|
|||||||
// .option(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT
|
// .option(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT
|
||||||
|
|
||||||
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
||||||
.handler(new NettyTcpClientPermeateClientTransferFilter(new ChannelTypeAdapter(internalNetworkClientPermeateClientVisitor.getHandleChannelTypeAdvancedList())))
|
.handler(new NettyTcpClientPermeateClientTransferFilter(new ChannelTypeAdapter(nettyClientPermeateClientVisitor.getHandleChannelTypeAdvancedList())))
|
||||||
;
|
;
|
||||||
NettyClientProperties nettyClientProperties = internalNetworkClientPermeateClientVisitor.getNettyClientProperties();
|
NettyClientProperties nettyClientProperties = nettyClientPermeateClientVisitor.getNettyClientProperties();
|
||||||
String inetHost = nettyClientProperties.getInetHost();
|
String inetHost = nettyClientProperties.getInetHost();
|
||||||
int inetPort = nettyClientProperties.getInetPort();
|
int inetPort = nettyClientProperties.getInetPort();
|
||||||
// local client id
|
// local client id
|
||||||
|
|
||||||
String clientId = nettyClientProperties.getClientId();
|
String clientId = nettyClientProperties.getClientId();
|
||||||
|
|
||||||
String targetIp = internalNetworkClientPermeateClientVisitor.getTargetIp();
|
String targetIp = nettyClientPermeateClientVisitor.getTargetIp();
|
||||||
Integer targetPort = internalNetworkClientPermeateClientVisitor.getTargetPort();
|
Integer targetPort = nettyClientPermeateClientVisitor.getTargetPort();
|
||||||
|
|
||||||
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
||||||
Integer visitorPort = internalNetworkClientPermeateClientVisitor.getVisitorPort();
|
Integer visitorPort = nettyClientPermeateClientVisitor.getVisitorPort();
|
||||||
String toClientId = internalNetworkClientPermeateClientVisitor.getToClientId();
|
String toClientId = nettyClientPermeateClientVisitor.getToClientId();
|
||||||
|
|
||||||
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
||||||
log.info("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {} with clientId:【{}】 toClientId:【{}】 & visitorId:【{}】", inetHost, inetPort, clientId, toClientId, visitorId);
|
log.info("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {} with clientId:【{}】 toClientId:【{}】 & visitorId:【{}】", inetHost, inetPort, clientId, toClientId, visitorId);
|
||||||
@ -90,7 +90,7 @@ public class NettyHttpClientProxyClientTransferSocket {
|
|||||||
log.info("无法连接到服务端....");
|
log.info("无法连接到服务端....");
|
||||||
eventLoopGroup.schedule(() -> {
|
eventLoopGroup.schedule(() -> {
|
||||||
try {
|
try {
|
||||||
buildTransferServer(internalNetworkClientPermeateClientVisitor, visitorChannel);
|
buildTransferServer(nettyClientPermeateClientVisitor, visitorChannel);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,8 @@ import io.netty.channel.nio.NioEventLoopGroup;
|
|||||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.InternalNetworkClientPermeateClientVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.NettyHttpClientProxyServer;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.permeate.tcp.filter.NettyTcpClientPermeateClientTransferFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.proxy.http.filter.NettyHttpClientProxyServerTransferFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
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.adapter.ChannelTypeAdapter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType;
|
import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType;
|
||||||
@ -25,8 +25,10 @@ public class NettyHttpClientProxyServerTransferSocket {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 连接服务端通信通道
|
* 连接服务端通信通道
|
||||||
|
* @param nettyHttpClientProxyServer 客户端代理服务端配置信息
|
||||||
|
* @param originChannel 原始通道
|
||||||
*/
|
*/
|
||||||
public static void buildTransferServer(InternalNetworkClientPermeateClientVisitor internalNetworkClientPermeateClientVisitor, Channel visitorChannel) {
|
public static void buildTransferServer(NettyHttpClientProxyServer nettyHttpClientProxyServer, Channel originChannel) {
|
||||||
|
|
||||||
|
|
||||||
Bootstrap bootstrap = new Bootstrap();
|
Bootstrap bootstrap = new Bootstrap();
|
||||||
@ -43,24 +45,25 @@ public class NettyHttpClientProxyServerTransferSocket {
|
|||||||
// .option(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT
|
// .option(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT
|
||||||
|
|
||||||
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
||||||
.handler(new NettyTcpClientPermeateClientTransferFilter(new ChannelTypeAdapter(internalNetworkClientPermeateClientVisitor.getHandleChannelTypeAdvancedList())))
|
.handler(new NettyHttpClientProxyServerTransferFilter(new ChannelTypeAdapter(nettyHttpClientProxyServer.getHandleChannelTypeAdvancedList())))
|
||||||
;
|
;
|
||||||
NettyClientProperties nettyClientProperties = internalNetworkClientPermeateClientVisitor.getNettyClientProperties();
|
NettyClientProperties nettyClientProperties = nettyHttpClientProxyServer.getNettyClientProperties();
|
||||||
String inetHost = nettyClientProperties.getInetHost();
|
String inetHost = nettyClientProperties.getInetHost();
|
||||||
int inetPort = nettyClientProperties.getInetPort();
|
int inetPort = nettyClientProperties.getInetPort();
|
||||||
// local client id
|
// local client id
|
||||||
|
|
||||||
String clientId = nettyClientProperties.getClientId();
|
String clientId = nettyClientProperties.getClientId();
|
||||||
|
|
||||||
String targetIp = internalNetworkClientPermeateClientVisitor.getTargetIp();
|
String targetIp = nettyHttpClientProxyServer.getTargetIp();
|
||||||
Integer targetPort = internalNetworkClientPermeateClientVisitor.getTargetPort();
|
Integer targetPort = nettyHttpClientProxyServer.getTargetPort();
|
||||||
|
byte[] data = nettyHttpClientProxyServer.getData();
|
||||||
|
|
||||||
|
String visitorId = ChannelAttributeKeyUtils.getVisitorId(originChannel);
|
||||||
|
|
||||||
|
|
||||||
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
|
||||||
Integer visitorPort = internalNetworkClientPermeateClientVisitor.getVisitorPort();
|
|
||||||
String toClientId = internalNetworkClientPermeateClientVisitor.getToClientId();
|
|
||||||
|
|
||||||
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
||||||
log.info("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {} with clientId:【{}】 toClientId:【{}】 & visitorId:【{}】", inetHost, inetPort, clientId, toClientId, visitorId);
|
log.info("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {} with clientId:【{}】 toClientId:【{}】 & visitorId:【{}】", inetHost, inetPort, clientId, clientId, visitorId);
|
||||||
ChannelFuture future = bootstrap.connect(inetHost, inetPort);
|
ChannelFuture future = bootstrap.connect(inetHost, inetPort);
|
||||||
|
|
||||||
// 使用的客户端ID:{}
|
// 使用的客户端ID:{}
|
||||||
@ -69,12 +72,13 @@ public class NettyHttpClientProxyServerTransferSocket {
|
|||||||
if (futureListener.isSuccess()) {
|
if (futureListener.isSuccess()) {
|
||||||
|
|
||||||
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
||||||
nettyProxyMsg.setType(TcpMessageType.TCP_REPORT_CLIENT_TRANSFER_CLIENT_PERMEATE_CHANNEL_CONNECTION_SUCCESSFUL);
|
nettyProxyMsg.setType(TcpMessageType.HTTP_CLIENT_PROXY_SERVER_TRANSFER_REPORT_);
|
||||||
// other clientId
|
// other clientId
|
||||||
nettyProxyMsg.setClientId(toClientId);
|
nettyProxyMsg.setClientId(clientId);
|
||||||
nettyProxyMsg.setVisitorPort(visitorPort);
|
|
||||||
nettyProxyMsg.setClientTargetIp(targetIp);
|
nettyProxyMsg.setClientTargetIp(targetIp);
|
||||||
nettyProxyMsg.setClientTargetPort(targetPort);
|
nettyProxyMsg.setClientTargetPort(targetPort);
|
||||||
|
nettyProxyMsg.setData(data);
|
||||||
|
|
||||||
nettyProxyMsg.setVisitorId(visitorId);
|
nettyProxyMsg.setVisitorId(visitorId);
|
||||||
transferChannel.writeAndFlush(nettyProxyMsg);
|
transferChannel.writeAndFlush(nettyProxyMsg);
|
||||||
@ -82,15 +86,15 @@ public class NettyHttpClientProxyServerTransferSocket {
|
|||||||
ChannelAttributeKeyUtils.buildVisitorId(transferChannel, visitorId);
|
ChannelAttributeKeyUtils.buildVisitorId(transferChannel, visitorId);
|
||||||
ChannelAttributeKeyUtils.buildClientId(transferChannel, clientId);
|
ChannelAttributeKeyUtils.buildClientId(transferChannel, clientId);
|
||||||
// 传输通道打开后自动读取
|
// 传输通道打开后自动读取
|
||||||
ChannelAttributeKeyUtils.buildNextChannel(visitorChannel, transferChannel);
|
ChannelAttributeKeyUtils.buildNextChannel(originChannel, transferChannel);
|
||||||
ChannelAttributeKeyUtils.buildNextChannel(transferChannel, visitorChannel);
|
ChannelAttributeKeyUtils.buildNextChannel(transferChannel, originChannel);
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
log.info("无法连接到服务端....");
|
log.info("无法连接到服务端....");
|
||||||
eventLoopGroup.schedule(() -> {
|
eventLoopGroup.schedule(() -> {
|
||||||
try {
|
try {
|
||||||
buildTransferServer(internalNetworkClientPermeateClientVisitor, visitorChannel);
|
buildTransferServer(nettyHttpClientProxyServer, originChannel);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
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.advanced.HandleChannelTypeAdvanced;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.client;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.server;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.server;
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
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.advanced.HandleChannelTypeAdvanced;
|
@ -1,4 +1,4 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.server;
|
package org.framework.lazy.cloud.network.heartbeat.common.advanced.permeate.tcp.server;
|
||||||
|
|
||||||
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user