lizhanwei
2020-02-18 87ab0bd072bd42c09a649759090942781ab53fcb
app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -4,10 +4,14 @@
import com.anyun.exam.lib.MyLog;
import com.anyun.im_lib.util.ByteUtil;
import com.safeluck.aykj.utils.BytesUtils;
import safeluck.drive.evaluation.platformMessage.JK2019MessageBase;
import safeluck.drive.evaluation.platformMessage.PlatFormConstant;
import safeluck.drive.evaluation.platformMessage.RegisterResp;
import safeluck.drive.evaluation.platformMessage.ServerCommonRsp;
import safeluck.drive.evaluation.platformMessage.utils.MessageEscaper;
import safeluck.drive.evaluation.platformMessage.utils.MessageManager;
import safeluck.drive.evaluation.util.CThreadPoolExecutor;
import safeluck.drive.evaluation.util.Utils;
@@ -22,26 +26,35 @@
    private static final String TAG = MessageProcessor.class.getSimpleName();
    private MessageProcessor(){
        messageEscaper = new MessageEscaper();
        messageManager = new MessageManager();
    }
    private static class MessageProcessorInstance{
        private static final IMessageProcessor INSTANCE = new MessageProcessor();
    }
    MessageEscaper messageEscaper;
    MessageManager messageManager;
    public static IMessageProcessor getInstance(){
        return MessageProcessorInstance.INSTANCE;
    }
    @Override
    public void receiveMsg(byte[] message) {
        byte[] datas = Utils.parseMsg(message);
        Log.i(TAG, "receiveMsg: "+ ByteUtil.byte2HexStr(datas));
        byte checkcolde=Utils.calCheckCode(ByteUtil.subArray(datas,0,datas.length-1));
        if (checkcolde == datas[datas.length-1]){
            Log.i(TAG, "receiveMsg: 消息正确");
            parseMessage(datas);
        }
//        byte[] datas = Utils.parseMsg(message);
//        Log.i(TAG, "receiveMsg: "+ ByteUtil.byte2HexStr(datas));
//        byte checkcolde=Utils.calCheckCode(ByteUtil.subArray(datas,0,datas.length-1));
//        if (checkcolde == datas[datas.length-1]){
//            Log.i(TAG, "receiveMsg: 消息正确");
//            parseMessage(datas);
//        }
        //反转义
        byte[] datas=messageEscaper.unescape(message);
        MyLog.i(PlatFormConstant.TAG,"转义过后的服务消息:"+ BytesUtils.bytesToHexString(datas));
        JK2019MessageBase jk2019MessageBase = MessageManager.get(BytesUtils.bytesToHexString(datas));
    }
    private void parseMessage(byte[] datas) {