/// <summary> /// 这里解析的到的数据是会把头和尾部都给去掉的 包括0x7E /// </summary> /// <param name="readBuffer"></param> /// <param name="offset"></param> /// <param name="length"></param> /// <returns></returns> protected override HLProtocolRequestInfo ProcessMatchedRequest(byte[] readBuffer, int offset, int length) { //var aJT808_PackageData = new JT808_PackageData(); string all = ""; for (int i = 0; i < length; i++) { all = all + readBuffer[offset + i].ToString("X2") + " "; } //转义还原 byte[] message = ExplainUtils.DoEscape4Receive(readBuffer, offset, offset + length); string all2 = ""; for (int i = 0; i < message.Length; i++) { all2 = all2 + message[i].ToString("X2") + " "; } //解析消息头 JT808_PackageData aJT808_PackageData = decoder.Bytes2PackageData(message); aJT808_PackageData.all = all; aJT808_PackageData.all2 = all2; if (aJT808_PackageData.errorlog == null) { //解析消息体 ProcessPackageData(ref aJT808_PackageData); } return(new HLProtocolRequestInfo(aJT808_PackageData)); }
protected override NewEnergyRequestInfo ProcessMatchedRequest(byte[] readBuffer, int offset, int length) { //转义还原 byte[] message = ExplainUtils.DoEscape4Receive(readBuffer, offset, offset + length); string all = ""; for (int i = 0; i < message.Length; i++) { all = all + message[i].ToString("X2") + " "; } NewEnergyProtocol protocol = new NewEnergyProtocol(); protocol.all = all; return(new NewEnergyRequestInfo(protocol)); }