From cfd058531ac72f728028f141102ddb9743a8568f Mon Sep 17 00:00:00 2001 From: lizhanwei <Dana_Lee1016@126.com> Date: 星期六, 14 三月 2020 21:31:03 +0800 Subject: [PATCH] 如果设备未登录则不发送心跳消息和位置消息等其他一切消息(不包括注册和鉴权消息);鉴权时间戳修改为秒,然后des加密进行发送;0206位置消息,再收到rtk_info的时候进行控制发送,如果移到MessageProcesser app崩溃,MessageManager.get()抛异常动态长度字段和依赖字段只能有一个,暂时先不改,后边有时间再改 --- app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java | 35 ++++++++++++++++++++++++++++------- 1 files changed, 28 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java index 7b6f11f..3b85264 100644 --- a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java +++ b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java @@ -75,10 +75,12 @@ SPUtils.put(app.getAppContext(),SPUtils.DES_HEX_PWD,des); JKMessage0101 jkMessage0101 = new JKMessage0101(); // jkMessage0101.des =((JKMessage8100) jk2019MessageBase).des; - int time =(int) System.currentTimeMillis(); - jkMessage0101.timestamp = time; - byte[] miwen =Utils.encrypt(ByteUtil.intGetBytes(time),des); - MyLog.i(PlatFormConstant.TAG,"閴存潈瀵嗘枃="+BytesUtils.bytesToHexString(miwen)+" time="+time); + long time =System.currentTimeMillis()/1000; + int unsignedInt = Utils.parseUnsignedInt(String.valueOf(time),10); + MyLog.i(String.format("鎬荤鏁�(long)=%d,瑁呮崲鎴恥nsigned int= %d",time,unsignedInt)); + jkMessage0101.timestamp = unsignedInt; + byte[] miwen =Utils.encrypt(ByteUtil.intGetBytes(unsignedInt),des); + MyLog.i(PlatFormConstant.TAG,"閴存潈瀵嗘枃="+BytesUtils.bytesToHexString(miwen)+" time="+unsignedInt); jkMessage0101.des = BytesUtils.bytesToHexString(miwen); sendMessage(jkMessage0101); ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_REGISTERED); @@ -92,6 +94,7 @@ MyLog.i(PlatFormConstant.TAG,"閴存潈鎴愬姛"); ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_LOGIN); }else{ + MyLog.i(PlatFormConstant.TAG,"鏀跺埌浜嗛壌鏉冩秷鎭紝浣嗛壌鏉冧笉鎴愬姛"); ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_NOT_LOGIN); } }else if (jk2019MessageBase instanceof JKMessage8201){ @@ -112,11 +115,29 @@ @Override public void run() { - if (IMSClientBootstrap.getInstance().isActive()){ - IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes())); + + + if ( ExamPlatformData.getInstance().getExamplatformStatus() == ExamPlatformData.DEV_LOGIN){ + if (IMSClientBootstrap.getInstance().isActive()){ + IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes())); + }else{ + Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp"); + } }else{ - Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp"); + JK2019MessageBase jk2019MessageBase = MessageManager.get(msg.toString()); + if ((jk2019MessageBase instanceof JKMessage0100) || (jk2019MessageBase instanceof JKMessage0101)){ + + if (IMSClientBootstrap.getInstance().isActive()){ + IMSClientBootstrap.getInstance().sendMessage(messageEscaper.escape(msg.toBytes())); + }else{ + Log.e(TAG, "run: 鍙戦�佹秷鎭け璐ワ紝鏈垵濮嬪寲杩炴帴NettyTcp"); + } + }else{ + MyLog.i(PlatFormConstant.TAG,"鐧诲綍鏈垚鍔燂紝涓嶈兘鍙戦�佹秷鎭�="+BytesUtils.bytesToHexString(ByteUtil.intGetBytes(jk2019MessageBase.messageId))); + } } + + } }); } -- Gitblit v1.8.0