| | |
| | | * @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; |
| | |
| | | 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); |
| | |
| | | }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); |