mirror of
https://gitee.com/wujiawei1207537021/wu-lazy-cloud-network.git
synced 2025-06-17 02:45:03 +08:00
[fix]
This commit is contained in:
@ -112,7 +112,13 @@ public class MessageType {
|
||||
* @see AbstractHandleReportClientPermeateServerInitTypeAdvanced
|
||||
*/
|
||||
public static final byte REPORT_CLIENT_PERMEATE_SERVER_INIT = 0X13;
|
||||
|
||||
/**
|
||||
* 上报 客户端渗透服务端init close 信息
|
||||
*
|
||||
* @see MessageTypeEnums#REPORT_CLIENT_PERMEATE_SERVER_CLOSE
|
||||
* @see AbstractHandleReportClientPermeateServerCloseTypeAdvanced
|
||||
*/
|
||||
public static final byte REPORT_CLIENT_PERMEATE_SERVER_CLOSE = 0X14;
|
||||
/**
|
||||
* 下发 客户端接收连接成功通知
|
||||
*
|
||||
@ -213,4 +219,12 @@ public class MessageType {
|
||||
* @see AbstractHandleDistributeClientPermeateServerInitTypeAdvanced
|
||||
*/
|
||||
public static final byte DISTRIBUTE_CLIENT_PERMEATE_SERVER_INIT = -0X13;
|
||||
|
||||
/**
|
||||
* 下发 客户端渗透服务端init close信息
|
||||
*
|
||||
* @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_SERVER_CLOSE
|
||||
* @see AbstractHandleDistributeClientPermeateServerCloseTypeAdvanced
|
||||
*/
|
||||
public static final byte DISTRIBUTE_CLIENT_PERMEATE_SERVER_CLOSE = -0X14;
|
||||
}
|
||||
|
@ -1,5 +1,8 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.common;
|
||||
|
||||
import io.netty.channel.Channel;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.socket.PermeateVisitorSocket;
|
||||
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
/**
|
||||
@ -7,7 +10,8 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
*/
|
||||
public class NettyVisitorPortContext {
|
||||
|
||||
protected static final ConcurrentHashMap<Integer, Object> VISITOR_PORT = new ConcurrentHashMap<>();
|
||||
protected static final ConcurrentHashMap<Integer, Channel> VISITOR_PORT_CHANNEL = new ConcurrentHashMap<>();
|
||||
protected static final ConcurrentHashMap<Integer, PermeateVisitorSocket> VISITOR_PORT_SOCKET = new ConcurrentHashMap<>();
|
||||
|
||||
|
||||
/**
|
||||
@ -16,11 +20,20 @@ public class NettyVisitorPortContext {
|
||||
* @param visitorPort 访客端口
|
||||
* @param visitor 访客
|
||||
*/
|
||||
public static <T> void pushVisitor(Integer visitorPort, T visitor) {
|
||||
VISITOR_PORT.put(visitorPort, visitor);
|
||||
|
||||
public static void pushVisitorChannel(Integer visitorPort, Channel visitor) {
|
||||
VISITOR_PORT_CHANNEL.put(visitorPort, visitor);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加访客
|
||||
*
|
||||
* @param visitorPort 访客端口
|
||||
* @param visitorSocket 访客socket
|
||||
*/
|
||||
public static <T> void pushVisitorSocket(Integer visitorPort, PermeateVisitorSocket visitorSocket) {
|
||||
VISITOR_PORT_SOCKET.put(visitorPort, visitorSocket);
|
||||
}
|
||||
/**
|
||||
* 通过访客端口获取访客
|
||||
*
|
||||
@ -28,8 +41,19 @@ public class NettyVisitorPortContext {
|
||||
* @param <T> 访客范型
|
||||
* @return 访客
|
||||
*/
|
||||
public static <T> T getVisitor(Integer visitorPort) {
|
||||
return (T) VISITOR_PORT.get(visitorPort);
|
||||
public static Channel getVisitorChannel(Integer visitorPort) {
|
||||
return VISITOR_PORT_CHANNEL.get(visitorPort);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过访客端口获取访客socket
|
||||
*
|
||||
* @param visitorPort 访客端口
|
||||
* @param <T> 访客范型
|
||||
* @return 访客
|
||||
*/
|
||||
public static PermeateVisitorSocket getVisitorSocket(Integer visitorPort) {
|
||||
return VISITOR_PORT_SOCKET.get(visitorPort);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -38,10 +62,25 @@ public class NettyVisitorPortContext {
|
||||
* @return 删除的访客通道
|
||||
* @param <T> 访客通道范型
|
||||
*/
|
||||
public static <T> T removeVisitor(Integer visitorPort){
|
||||
T visitor = getVisitor(visitorPort);
|
||||
public static Channel removeVisitorChannel(Integer visitorPort) {
|
||||
Channel visitor = getVisitorChannel(visitorPort);
|
||||
if(visitor!=null){
|
||||
VISITOR_PORT.remove(visitorPort);
|
||||
VISITOR_PORT_CHANNEL.remove(visitorPort);
|
||||
}
|
||||
return visitor;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除访客 socket
|
||||
*
|
||||
* @param visitorPort 访客通道
|
||||
* @param <T> 访客通道范型
|
||||
* @return 删除的访客通道
|
||||
*/
|
||||
public static PermeateVisitorSocket removeVisitorSocket(Integer visitorPort) {
|
||||
PermeateVisitorSocket visitor = getVisitorSocket(visitorPort);
|
||||
if (visitor != null) {
|
||||
VISITOR_PORT_SOCKET.remove(visitorPort);
|
||||
}
|
||||
return visitor;
|
||||
}
|
||||
|
@ -0,0 +1,28 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.client;
|
||||
|
||||
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.MessageTypeEnums;
|
||||
|
||||
|
||||
/**
|
||||
* 下发 客户端渗透服务端init close 信息
|
||||
*
|
||||
* @see MessageTypeEnums#DISTRIBUTE_CLIENT_PERMEATE_SERVER_CLOSE
|
||||
*/
|
||||
public abstract class AbstractHandleDistributeClientPermeateServerCloseTypeAdvanced<MSG> extends AbstractHandleChannelTypeAdvanced<NettyProxyMsg> implements HandleChannelTypeAdvanced {
|
||||
|
||||
|
||||
/**
|
||||
* 是否支持当前类型
|
||||
*
|
||||
* @param msg 通道数据
|
||||
* @return 布尔类型 是、否
|
||||
*/
|
||||
@Override
|
||||
public boolean doSupport(NettyProxyMsg msg) {
|
||||
return MessageTypeEnums.DISTRIBUTE_CLIENT_PERMEATE_SERVER_CLOSE.getTypeByte() == msg.getType();
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.server;
|
||||
|
||||
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.MessageTypeEnums;
|
||||
|
||||
|
||||
/**
|
||||
* 上报 客户端渗透服务端init close 信息
|
||||
* REPORT_CLIENT_PERMEATE_SERVER_CLOSE
|
||||
*/
|
||||
public abstract class AbstractHandleReportClientPermeateServerCloseTypeAdvanced<MSG> extends AbstractHandleChannelTypeAdvanced<NettyProxyMsg> implements HandleChannelTypeAdvanced {
|
||||
|
||||
|
||||
/**
|
||||
* 是否支持当前类型
|
||||
*
|
||||
* @param msg 通道数据
|
||||
* @return 布尔类型 是、否
|
||||
*/
|
||||
@Override
|
||||
public boolean doSupport(NettyProxyMsg msg) {
|
||||
return MessageTypeEnums.REPORT_CLIENT_PERMEATE_SERVER_CLOSE.getTypeByte() == msg.getType();
|
||||
}
|
||||
}
|
@ -66,6 +66,11 @@ public enum MessageTypeEnums {
|
||||
* @see AbstractHandleReportClientPermeateServerInitTypeAdvanced
|
||||
*/
|
||||
REPORT_CLIENT_PERMEATE_SERVER_INIT(MessageType.REPORT_CLIENT_PERMEATE_SERVER_INIT, "上报 客户端渗透服务端init信息"),
|
||||
/**
|
||||
* 上报 客户端渗透服务端init close 信息
|
||||
* @see AbstractHandleReportClientPermeateServerCloseTypeAdvanced
|
||||
*/
|
||||
REPORT_CLIENT_PERMEATE_SERVER_CLOSE(MessageType.REPORT_CLIENT_PERMEATE_SERVER_CLOSE, "上报 客户端渗透服务端init close 信息"),
|
||||
/**
|
||||
* @see AbstractHandleDistributeConnectSuccessNotificationTypeAdvancedHandle
|
||||
*/
|
||||
@ -121,6 +126,11 @@ public enum MessageTypeEnums {
|
||||
* @see AbstractHandleDistributeClientPermeateServerInitTypeAdvanced
|
||||
*/
|
||||
DISTRIBUTE_CLIENT_PERMEATE_SERVER_INIT(MessageType.DISTRIBUTE_CLIENT_PERMEATE_SERVER_INIT, "下发 客户端渗透服务端init信息"),
|
||||
|
||||
/**
|
||||
* @see AbstractHandleDistributeClientPermeateServerCloseTypeAdvanced
|
||||
*/
|
||||
DISTRIBUTE_CLIENT_PERMEATE_SERVER_CLOSE(MessageType.DISTRIBUTE_CLIENT_PERMEATE_SERVER_CLOSE, "下发 客户端渗透服务端init close信息"),
|
||||
;
|
||||
|
||||
private final byte typeByte;
|
||||
|
@ -0,0 +1,14 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.common.socket;
|
||||
|
||||
public interface PermeateVisitorSocket {
|
||||
|
||||
/**
|
||||
* 启动socket
|
||||
*/
|
||||
public void start() ;
|
||||
|
||||
/**
|
||||
* 关闭socket
|
||||
*/
|
||||
public void close() ;
|
||||
}
|
Reference in New Issue
Block a user