From aa241a47c90ed776062adf0b8daccf288a21836f Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期四, 10 八月 2023 09:55:54 +0800 Subject: [PATCH] 合并代码 --- zuul/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java | 44 ++++++++++++++++++++++---------------------- 1 files changed, 22 insertions(+), 22 deletions(-) diff --git a/zuul/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java b/zuul/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java index b173e90..9ad48bd 100644 --- a/zuul/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java +++ b/zuul/src/main/java/com/sinata/zuul/util/echo/NettyServerController.java @@ -57,7 +57,7 @@ * @param msg * @author TaoNingBo */ - public void JudgeOperation(ChannelHandlerContext ctx, Object msg) { + public synchronized void JudgeOperation(ChannelHandlerContext ctx, Object msg) { try { // ByteBuf转String ByteBuf byteBuf = (ByteBuf) msg; @@ -112,12 +112,12 @@ if(b){ NettyChannelMap.remove_(data_); } -// new Timer().schedule(new TimerTask() { -// @Override -// public void run() { -// NettyChannelMap.remove_(data_); -// } -// }, 5000); + new Timer().schedule(new TimerTask() { + @Override + public void run() { + NettyChannelMap.remove_(data_); + } + }, 5000); } NettyChannelMap.update_(token.substring(token.length() - 16), ctx); NettyChannelMap.update("USER" + userId1, ctx); @@ -131,21 +131,21 @@ }else{ //确保账号在单个设备上登录 if(StringUtil.isNotEmpty(token)){//APP端登录的操作 -// String token_ = redisUtil.getValue("DRIVER_" + userId1);//缓存中拿最新数据 -// if(StringUtil.isNotEmpty(token_) && !token.equals(token_)){//不在同一设备上登录,向当前设备发送数据 -// ChannelHandlerContext data_ = NettyChannelMap.getData_(token_.substring(token_.length() - 16)); -// if(null != data_){ -// JSONObject msg_ = new JSONObject(); -// msg_.put("code", 200); -// msg_.put("msg", "SUCCESS"); -// msg_.put("method", "OFFLINE"); -// msg_.put("data", new Object()); -// boolean b = this.sendMsgToClient(data_, msg_.toJSONString());//给当前通道发送消息 -// if(b){ -// NettyChannelMap.remove_(data_); -// } -// } -// } + String token_ = redisUtil.getValue("DRIVER_" + userId1);//缓存中拿最新数据 + if(StringUtil.isNotEmpty(token_) && !token.equals(token_)){//不在同一设备上登录,向当前设备发送数据 + ChannelHandlerContext data_ = NettyChannelMap.getData_(token_.substring(token_.length() - 16)); + if(null != data_){ + JSONObject msg_ = new JSONObject(); + msg_.put("code", 200); + msg_.put("msg", "SUCCESS"); + msg_.put("method", "OFFLINE"); + msg_.put("data", new Object()); + boolean b = this.sendMsgToClient(data_, msg_.toJSONString());//给当前通道发送消息 + if(b){ + NettyChannelMap.remove_(data_); + } + } + } NettyChannelMap.update("DRIVER" + userId1, ctx); NettyChannelMap.update_(token.substring(token.length() - 16), ctx); redisUtil.setStrValue("DRIVER_" + userId1, token); -- Gitblit v1.7.1