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,7 +5,7 @@ import io.netty.channel.Channel;
|
||||
import io.netty.channel.ChannelId;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyClientStatsChangeApplication;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.netty.socket.NettyVisitorSocket;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.netty.socket.NettyServerPermeateClientVisitorSocket;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.wu.framework.core.utils.ObjectUtils;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.ChannelContext;
|
||||
@ -71,9 +71,9 @@ public class ServerHandleReportDisconnectTypeAdvanced extends AbstractHandleRepo
|
||||
channel.writeAndFlush(stagingNettyProxyMsg);
|
||||
}
|
||||
// 关闭绑定的访客端口
|
||||
List<NettyVisitorSocket> visitorSockets = NettyClientVisitorContext.getVisitorSockets(new String(clientId));
|
||||
List<NettyServerPermeateClientVisitorSocket> visitorSockets = NettyClientVisitorContext.getVisitorSockets(new String(clientId));
|
||||
if (!ObjectUtils.isEmpty(visitorSockets)) {
|
||||
for (NettyVisitorSocket visitorSocket : visitorSockets) {
|
||||
for (NettyServerPermeateClientVisitorSocket visitorSocket : visitorSockets) {
|
||||
int visitorPort = visitorSocket.getVisitorPort();
|
||||
try {
|
||||
visitorSocket.close();
|
||||
|
@ -10,7 +10,6 @@ import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPenetrat
|
||||
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.adapter.ChannelFlowAdapter;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.allocator.NettyRecvByteBufAllocator;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.netty.filter.VisitorFilter;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -22,7 +21,7 @@ import java.io.IOException;
|
||||
* @see NettyClientVisitorContext
|
||||
*/
|
||||
@Slf4j
|
||||
public class NettyVisitorSocket {
|
||||
public class NettyServerPermeateClientVisitorSocket {
|
||||
private final EventLoopGroup bossGroup = new NioEventLoopGroup();
|
||||
private final EventLoopGroup workerGroup = new NioEventLoopGroup();
|
||||
private final VisitorFilter visitorFilter;
|
||||
@ -31,7 +30,7 @@ public class NettyVisitorSocket {
|
||||
@Getter
|
||||
private final int visitorPort;
|
||||
|
||||
public NettyVisitorSocket(VisitorFilter visitorFilter, String clientId, int visitorPort) {
|
||||
public NettyServerPermeateClientVisitorSocket(VisitorFilter visitorFilter, String clientId, int visitorPort) {
|
||||
this.visitorFilter = visitorFilter;
|
||||
this.clientId = clientId;
|
||||
this.visitorPort = visitorPort;
|
||||
@ -209,7 +208,7 @@ public class NettyVisitorSocket {
|
||||
return this;
|
||||
}
|
||||
|
||||
public NettyVisitorSocket build() {
|
||||
public NettyServerPermeateClientVisitorSocket build() {
|
||||
if (clientId == null) {
|
||||
throw new IllegalArgumentException("clientId must not null");
|
||||
}
|
||||
@ -231,7 +230,7 @@ public class NettyVisitorSocket {
|
||||
.visitorId(visitorId).build();
|
||||
|
||||
VisitorFilter visitorFilter = new VisitorFilter(internalNetworkPenetrationRealClient, channelFlowAdapter);
|
||||
return new NettyVisitorSocket(visitorFilter, clientId, visitorPort);
|
||||
return new NettyServerPermeateClientVisitorSocket(visitorFilter, clientId, visitorPort);
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.impl;
|
||||
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.netty.socket.NettyVisitorSocket;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.netty.socket.NettyServerPermeateClientVisitorSocket;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.properties.ServerNodeProperties;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkPenetrationMappingApplication;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler.InternalNetworkPenetrationMappingDTOAssembler;
|
||||
@ -157,15 +157,15 @@ public class LazyInternalNetworkPenetrationMappingApplicationImpl implements Laz
|
||||
*/
|
||||
private void changeCloseSocket(String clientId, Integer visitorPort) {
|
||||
// 删除 客户端映射
|
||||
List<NettyVisitorSocket> nettyVisitorSocketList = NettyClientVisitorContext.getVisitorSockets(clientId);
|
||||
if (!ObjectUtils.isEmpty(nettyVisitorSocketList)) {
|
||||
nettyVisitorSocketList = nettyVisitorSocketList.stream()
|
||||
.filter(nettyVisitorSocket -> nettyVisitorSocket.getVisitorPort() == visitorPort).toList();
|
||||
if (!ObjectUtils.isEmpty(nettyVisitorSocketList)) {
|
||||
List<NettyServerPermeateClientVisitorSocket> nettyServerPermeateClientVisitorSocketList = NettyClientVisitorContext.getVisitorSockets(clientId);
|
||||
if (!ObjectUtils.isEmpty(nettyServerPermeateClientVisitorSocketList)) {
|
||||
nettyServerPermeateClientVisitorSocketList = nettyServerPermeateClientVisitorSocketList.stream()
|
||||
.filter(nettyServerPermeateClientVisitorSocket -> nettyServerPermeateClientVisitorSocket.getVisitorPort() == visitorPort).toList();
|
||||
if (!ObjectUtils.isEmpty(nettyServerPermeateClientVisitorSocketList)) {
|
||||
// 关闭端口
|
||||
for (NettyVisitorSocket nettyVisitorSocket : nettyVisitorSocketList) {
|
||||
for (NettyServerPermeateClientVisitorSocket nettyServerPermeateClientVisitorSocket : nettyServerPermeateClientVisitorSocketList) {
|
||||
try {
|
||||
nettyVisitorSocket.close();
|
||||
nettyServerPermeateClientVisitorSocket.close();
|
||||
} catch (IOException | InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
@ -282,7 +282,7 @@ public class LazyInternalNetworkPenetrationMappingApplicationImpl implements Laz
|
||||
*/
|
||||
private void createVisitor(String clientId, String clientTargetIp, Integer clientTargetPort, Integer visitorPort) {
|
||||
// 更新 客户端映射
|
||||
NettyVisitorSocket nettyVisitorSocket = NettyVisitorSocket.NettyVisitorSocketBuilder
|
||||
NettyServerPermeateClientVisitorSocket nettyServerPermeateClientVisitorSocket = NettyServerPermeateClientVisitorSocket.NettyVisitorSocketBuilder
|
||||
.builder()
|
||||
.builderClientId(clientId)
|
||||
.builderClientTargetIp(clientTargetIp)
|
||||
@ -291,7 +291,7 @@ public class LazyInternalNetworkPenetrationMappingApplicationImpl implements Laz
|
||||
.builderChannelFlowAdapter(channelFlowAdapter)
|
||||
.build();
|
||||
try {
|
||||
nettyVisitorSocket.startVisitorServer();
|
||||
nettyServerPermeateClientVisitorSocket.startVisitorServer();
|
||||
} catch (Exception e) {
|
||||
log.error("客户端:{},网络端口:{},开放失败", clientId, visitorPort);
|
||||
throw new RuntimeException(e);
|
||||
|
@ -1,7 +1,7 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.impl;
|
||||
|
||||
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.netty.socket.NettyVisitorSocket;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.netty.socket.NettyServerPermeateClientVisitorSocket;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.properties.ServerNodeProperties;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyNettyClientStateApplication;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler.NettyClientStateDTOAssembler;
|
||||
@ -170,11 +170,11 @@ public class LazyNettyClientStateApplicationImpl implements LazyNettyClientState
|
||||
// 心跳关闭
|
||||
ChannelContext.clear(clientId);
|
||||
// 关闭访客
|
||||
List<NettyVisitorSocket> nettyVisitorSocketList = NettyClientVisitorContext.getVisitorSockets(clientId);
|
||||
if (!ObjectUtils.isEmpty(nettyVisitorSocketList)) {
|
||||
for (NettyVisitorSocket nettyVisitorSocket : nettyVisitorSocketList) {
|
||||
List<NettyServerPermeateClientVisitorSocket> nettyServerPermeateClientVisitorSocketList = NettyClientVisitorContext.getVisitorSockets(clientId);
|
||||
if (!ObjectUtils.isEmpty(nettyServerPermeateClientVisitorSocketList)) {
|
||||
for (NettyServerPermeateClientVisitorSocket nettyServerPermeateClientVisitorSocket : nettyServerPermeateClientVisitorSocketList) {
|
||||
try {
|
||||
nettyVisitorSocket.close();
|
||||
nettyServerPermeateClientVisitorSocket.close();
|
||||
} catch (IOException | InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
Reference in New Issue
Block a user