代码调整

This commit is contained in:
2025-01-08 14:28:04 +08:00
parent af47617d37
commit b24b282cbb
2 changed files with 32 additions and 8 deletions

View File

@@ -48,11 +48,15 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
* @param ctx
*/
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
public void channelActive(ChannelHandlerContext ctx) {
System.out.println("客户端通道已建立" + ctx.channel().id());
Channel channel = SocketManager.getChannelByUserId(param.getUserPageId()+dev);
if(Objects.nonNull(channel)){
channel.close().sync();
try {
channel.close().sync();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
SocketManager.addUser(param.getUserPageId()+dev,ctx.channel());
}
@@ -79,8 +83,16 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
*/
@Override
public void channelInactive(ChannelHandlerContext ctx) {
System.out.println("客户端断线");
//SocketManager.addUser(webUser,ctx.channel());
System.out.println("设备通讯客户端断线");
Channel channel = SocketManager.getChannelByUserId(param.getUserPageId()+dev);
if(Objects.nonNull(channel)){
try {
channel.close().sync();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
SocketManager.removeUser(param.getUserPageId()+dev);
}
/**
@@ -93,9 +105,6 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) {
if (evt instanceof IdleStateEvent) {
if (((IdleStateEvent) evt).state() == IdleState.READER_IDLE) {
if(CollUtil.isNotEmpty(SocketManager.getSourceList())) {
SourceIssue sourceIssue = SocketManager.getSourceList().get(0);
if(SocketManager.clockMap.containsKey(sourceIssue.getIndex())){
@@ -147,6 +156,9 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketVO));
}
}
}else {
//为空则认为是常规步骤,设定一分钟超时
CnSocketUtil.quitSend(param);
}
System.out.println("已经等了一分钟了。。。。。。。。。。。。");
}

View File

@@ -32,6 +32,7 @@ import java.util.Objects;
public class NettySourceClientHandler extends SimpleChannelInboundHandler<String> {
private final PreDetectionParam webUser;
private final String sourceTag = "_Source";
private final SocketSourceResponseService sourceResponseService;
/**
@@ -43,7 +44,7 @@ public class NettySourceClientHandler extends SimpleChannelInboundHandler<String
public void channelActive(ChannelHandlerContext ctx) throws Exception {
System.out.println("客户端通道已建立" + ctx.channel().id());
SocketManager.addUser(webUser.getUserPageId() + "_Source", ctx.channel());
SocketManager.addUser(webUser.getUserPageId() + sourceTag, ctx.channel());
}
/**
@@ -69,6 +70,17 @@ public class NettySourceClientHandler extends SimpleChannelInboundHandler<String
*/
@Override
public void channelInactive(ChannelHandlerContext ctx) {
System.out.println("源通讯客户端断线");
Channel channel = SocketManager.getChannelByUserId(webUser.getUserPageId()+sourceTag);
if(Objects.nonNull(channel)){
try {
channel.close().sync();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
SocketManager.removeUser(webUser.getUserPageId()+sourceTag);
// System.out.println("断线了......" + ctx.channel());
// ctx.channel().eventLoop().schedule(() -> {
// System.out.println("断线重连......");