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 + "}"; } }