From 806ed6836b84fbea87d19a0cb4414e120dd9c049 Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期五, 14 二月 2020 14:30:44 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge

---
 app/src/main/java/safeluck/drive/evaluation/bean/DriveExamProtocol.java |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/DriveExamProtocol.java b/app/src/main/java/safeluck/drive/evaluation/bean/DriveExamProtocol.java
index 06af76c..ffd0b35 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/DriveExamProtocol.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/DriveExamProtocol.java
@@ -2,7 +2,10 @@
 
 import android.util.Log;
 
+import com.anyun.exam.lib.MyLog;
 import com.anyun.im_lib.util.ByteUtil;
+
+import safeluck.drive.evaluation.util.Utils;
 
 /**
  * MyApplication2
@@ -76,7 +79,7 @@
      * @return
      */
     public byte[] toBytes(){
-        byte[] desBytes = new byte[1+16+2+1+1];
+        byte[] desBytes = new byte[1+16+msgBodyLength()+1+1];
         int pos = 0;
 
 
@@ -95,7 +98,8 @@
         System.arraycopy(msgIdBytes,0,desBytes,pos,msgIdBytes.length);
         pos+=msgIdBytes.length;
 
-        //娑堟伅浣撳睘鎬�
+        //娑堟伅浣撳睘鎬� 榛樿涓烘秷鎭綋闀垮害
+        msg_property = msgBodyLength();
         byte[] msg_pro_bytes = ByteUtil.shortGetBytes(msg_property);
         System.arraycopy(msg_pro_bytes,0,desBytes,pos,msg_pro_bytes.length);
         pos+=msg_pro_bytes.length;
@@ -117,16 +121,19 @@
         pos+=messageBodyBytes.length;
 
         //鏍¢獙鐮�
-        // TODO: 2019/12/18 鏍¢獙鐮侀渶瑕佽绠�   杩樻湁杞箟闇�瑕佸鐞�
+        checkCode =   Utils.calCheckCode(ByteUtil.subArray(desBytes,1,pos-1));
         desBytes[pos] = checkCode;
         pos++;
         //鏈熬缁撴潫鏍囪瘑浣�
         desBytes[pos] = MESSAGE_TAIL;
 
-        Log.i(TAG, "鍖呴暱搴�="+(pos+1));
-        Log.i(TAG, "鍖呭唴瀹�: "+ByteUtil.byte2HexStr(desBytes));
-
-        return desBytes;
+        MyLog.i(TAG, "鍘熷鍖呴暱搴�="+(pos+1));
+        MyLog.i(TAG, "鍘熷鍖呭唴瀹�: "+ByteUtil.byte2HexStr(desBytes));
+        byte[] tranferbytes = Utils.transferMeaning(desBytes);
+        MyLog.i(TAG,"杞箟鍚庣殑鍖呭唴瀹癸細"+ByteUtil.byte2HexStr(tranferbytes));
+        return tranferbytes;
     }
 
+    protected abstract short msgBodyLength();
+
 }

--
Gitblit v1.8.0