예제 #1
0
        private void ProcessPackageData(ref JT808_PackageData packageData)
        {
            //消息ID
            int msgId = packageData.msgHeader.msgId;
            //消息体属性
            int msgBodyProps = packageData.msgHeader.msgBodyPropsField;
            //终端手机号
            string terminalPhone = packageData.msgHeader.terminalPhone;
            //消息流水号
            int flowId = packageData.msgHeader.flowId;


            //1. 终端注册 ==> 终端注册应答
            if (msgId == ExplainUtils.msg_id_terminal_register)
            {
                //客户端消息应答
                byte[] sendMsg = ExplainUtils.rtnTerminalRespMsg(0014, terminalPhone, flowId);
                //设置回复信息
                packageData.setMsgRespBytes(sendMsg);
            }
            //2. 终端鉴权 ==> 平台通用应答
            else if (msgId == ExplainUtils.msg_id_terminal_authentication)
            {
                //客户端消息应答
                byte[] sendMsg = ExplainUtils.rtnServerCommonRespMsg(0005, terminalPhone, flowId, msgId);
                //设置回复信息
                packageData.setMsgRespBytes(sendMsg);
            }
            //3. 终端心跳-消息体为空 ==> 平台通用应答
            else if (msgId == ExplainUtils.msg_id_terminal_heart_beat)
            {
                //客户端消息应答
                byte[] sendMsg = ExplainUtils.rtnServerCommonRespMsg(0005, terminalPhone, flowId, msgId);
                //设置回复信息
                packageData.setMsgRespBytes(sendMsg);
            }
            //4. 位置信息汇报 ==> 平台通用应答
            else if (msgId == ExplainUtils.msg_id_terminal_location_info_upload)
            {
                packageData.locationInfo = (decoder.ToLocationInfoMsg(packageData.getMsgBodyBytes()));
                //客户端消息应答
                byte[] sendMsg = ExplainUtils.rtnServerCommonRespMsg(0005, terminalPhone, flowId, msgId);
                //设置回复信息
                packageData.setMsgRespBytes(sendMsg);
            }
            // 其他情况
            else
            {
                packageData.errorlog = ">>>>>[未知消息类型-0x{" + msgId + "}],phone=" + terminalPhone + ",flowid={" + flowId + "}";
            }
        }