diff --git a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java index bc0dc3e0..7d6d8be7 100644 --- a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java +++ b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java @@ -48,11 +48,15 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler { * @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 { */ @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 { 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 { WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketVO)); } } + }else { + //为空则认为是常规步骤,设定一分钟超时 + CnSocketUtil.quitSend(param); } System.out.println("已经等了一分钟了。。。。。。。。。。。。"); } diff --git a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettySourceClientHandler.java b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettySourceClientHandler.java index 253b3c0c..466214a8 100644 --- a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettySourceClientHandler.java +++ b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettySourceClientHandler.java @@ -32,6 +32,7 @@ import java.util.Objects; public class NettySourceClientHandler extends SimpleChannelInboundHandler { private final PreDetectionParam webUser; + private final String sourceTag = "_Source"; private final SocketSourceResponseService sourceResponseService; /** @@ -43,7 +44,7 @@ public class NettySourceClientHandler extends SimpleChannelInboundHandler { // System.out.println("断线重连......");