[fix] 优化负载获取可以使用的客户端

This commit is contained in:
wujiawei 2024-11-25 10:40:06 +08:00
parent 1924e87c7d
commit 3568292ac2
14 changed files with 16 additions and 16 deletions

View File

@ -56,7 +56,7 @@ public class NettyClientVisitorContext {
public static <T> void removeVisitorSocket(String clientId, T visitorSocket) {
List<Object> visitorSocketList = VISITOR_SOCKET.get(clientId);
if(!ObjectUtils.isEmpty(visitorSocketList)){
while(visitorSocketList.iterator().hasNext()){
while (visitorSocketList.iterator().hasNext() && visitorSocketList.iterator().next().equals(visitorSocket)) {
visitorSocketList.iterator().remove();
}
VISITOR_SOCKET.put(clientId,visitorSocketList);

View File

@ -57,17 +57,16 @@ public class NettyVisitorPortContext {
}
/**
* 删除访客
* 删除访客
*
* @param visitorPort 访客通道
* @return 删除的访客通道
* @param <T> 访客通道范型
* @param <T> 访客通道范型
*/
public static Channel removeVisitorChannel(Integer visitorPort) {
public static void removeVisitorChannel(Integer visitorPort) {
Channel visitor = getVisitorChannel(visitorPort);
if(visitor!=null){
VISITOR_PORT_CHANNEL.remove(visitorPort);
}
return visitor;
}
/**
@ -75,14 +74,12 @@ public class NettyVisitorPortContext {
*
* @param visitorPort 访客通道
* @param <T> 访客通道范型
* @return 删除的访客通道
*/
public static PermeateVisitorSocket removeVisitorSocket(Integer visitorPort) {
public static void removeVisitorSocket(Integer visitorPort) {
PermeateVisitorSocket visitor = getVisitorSocket(visitorPort);
if (visitor != null) {
VISITOR_PORT_SOCKET.remove(visitorPort);
}
return visitor;
}
}

View File

@ -1,5 +1,8 @@
package org.framework.lazy.cloud.network.heartbeat.common.socket;
/**
* 渗透访客socket处理
*/
public interface PermeateVisitorSocket {
/**

View File

@ -102,8 +102,6 @@ public class NettyServerPermeateClientVisitorSocket implements PermeateVisitorSo
visitor.close();
// remove visitor
NettyVisitorPortContext.removeVisitorChannel(visitorPort);
// remove client this
NettyClientVisitorContext.removeVisitorSocket(clientId,this);
log.warn("关闭客户端 :【{}】 访客户端口:【{}】", clientId, visitorPort);
} else {
log.warn("关闭访客端口失败 未找到客户端通道 客户端 :【{}】 访客户端口:【{}】", clientId, visitorPort);

View File

@ -164,8 +164,9 @@ public class LazyInternalNetworkServerPermeateClientMappingApplicationImpl imple
// 关闭端口
for (NettyServerPermeateClientVisitorSocket nettyServerPermeateClientVisitorSocket : nettyServerPermeateClientVisitorSocketList) {
nettyServerPermeateClientVisitorSocket.close();
}
// 关闭通道 socket
}
}
}

View File

@ -213,6 +213,7 @@ public class LazyNettyClientStateApplicationImpl implements LazyNettyClientState
nettyServerPermeateClientVisitorSocket.close();
}
}
NettyClientVisitorContext.removeVisitorSockets(clientId);
return lazyNettyClientStateRepository.remove(lazyNettyClientState);
}

View File

@ -1 +1 @@
<!doctype html><html lang="zh-cn"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><link rel="icon" href="favicon.png"/><title>网络渗透</title><script defer="defer" src="js/chunk-elementPlusIcon.43658a0c.js"></script><script defer="defer" src="js/chunk-elementPlus.020d8d3c.js"></script><script defer="defer" src="js/chunk-mockjs.8cd56b1d.js"></script><script defer="defer" src="js/chunk-vendors.1d01bf41.js"></script><script defer="defer" src="js/app.cd9d0368.js"></script><link href="css/chunk-elementPlus.f2db5e15.css" rel="stylesheet"><link href="css/app.a3bfec27.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but wu-vue-zone-ecology-net doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="zh-cn"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><link rel="icon" href="favicon.png"/><title>网络渗透</title><script defer="defer" src="js/chunk-elementPlusIcon.43658a0c.js"></script><script defer="defer" src="js/chunk-elementPlus.020d8d3c.js"></script><script defer="defer" src="js/chunk-mockjs.8cd56b1d.js"></script><script defer="defer" src="js/chunk-vendors.1d01bf41.js"></script><script defer="defer" src="js/app.229d5e17.js"></script><link href="css/chunk-elementPlus.f2db5e15.css" rel="stylesheet"><link href="css/app.a3bfec27.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but wu-vue-zone-ecology-net doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long