代码调整
This commit is contained in:
@@ -48,11 +48,15 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
|
|||||||
* @param ctx
|
* @param ctx
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
public void channelActive(ChannelHandlerContext ctx) {
|
||||||
System.out.println("客户端通道已建立" + ctx.channel().id());
|
System.out.println("客户端通道已建立" + ctx.channel().id());
|
||||||
Channel channel = SocketManager.getChannelByUserId(param.getUserPageId()+dev);
|
Channel channel = SocketManager.getChannelByUserId(param.getUserPageId()+dev);
|
||||||
if(Objects.nonNull(channel)){
|
if(Objects.nonNull(channel)){
|
||||||
channel.close().sync();
|
try {
|
||||||
|
channel.close().sync();
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SocketManager.addUser(param.getUserPageId()+dev,ctx.channel());
|
SocketManager.addUser(param.getUserPageId()+dev,ctx.channel());
|
||||||
}
|
}
|
||||||
@@ -79,8 +83,16 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void channelInactive(ChannelHandlerContext ctx) {
|
public void channelInactive(ChannelHandlerContext ctx) {
|
||||||
System.out.println("客户端断线");
|
System.out.println("设备通讯客户端断线");
|
||||||
//SocketManager.addUser(webUser,ctx.channel());
|
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) {
|
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) {
|
||||||
if (evt instanceof IdleStateEvent) {
|
if (evt instanceof IdleStateEvent) {
|
||||||
if (((IdleStateEvent) evt).state() == IdleState.READER_IDLE) {
|
if (((IdleStateEvent) evt).state() == IdleState.READER_IDLE) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(CollUtil.isNotEmpty(SocketManager.getSourceList())) {
|
if(CollUtil.isNotEmpty(SocketManager.getSourceList())) {
|
||||||
SourceIssue sourceIssue = SocketManager.getSourceList().get(0);
|
SourceIssue sourceIssue = SocketManager.getSourceList().get(0);
|
||||||
if(SocketManager.clockMap.containsKey(sourceIssue.getIndex())){
|
if(SocketManager.clockMap.containsKey(sourceIssue.getIndex())){
|
||||||
@@ -147,6 +156,9 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
|
|||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketVO));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketVO));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
//为空则认为是常规步骤,设定一分钟超时
|
||||||
|
CnSocketUtil.quitSend(param);
|
||||||
}
|
}
|
||||||
System.out.println("已经等了一分钟了。。。。。。。。。。。。");
|
System.out.println("已经等了一分钟了。。。。。。。。。。。。");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import java.util.Objects;
|
|||||||
public class NettySourceClientHandler extends SimpleChannelInboundHandler<String> {
|
public class NettySourceClientHandler extends SimpleChannelInboundHandler<String> {
|
||||||
|
|
||||||
private final PreDetectionParam webUser;
|
private final PreDetectionParam webUser;
|
||||||
|
private final String sourceTag = "_Source";
|
||||||
private final SocketSourceResponseService sourceResponseService;
|
private final SocketSourceResponseService sourceResponseService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -43,7 +44,7 @@ public class NettySourceClientHandler extends SimpleChannelInboundHandler<String
|
|||||||
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
||||||
System.out.println("客户端通道已建立" + ctx.channel().id());
|
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
|
@Override
|
||||||
public void channelInactive(ChannelHandlerContext ctx) {
|
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());
|
// System.out.println("断线了......" + ctx.channel());
|
||||||
// ctx.channel().eventLoop().schedule(() -> {
|
// ctx.channel().eventLoop().schedule(() -> {
|
||||||
// System.out.println("断线重连......");
|
// System.out.println("断线重连......");
|
||||||
|
|||||||
Reference in New Issue
Block a user