diff --git a/src/JT809.Protocol.Test/JT809MessageBody/JT809_0x1102Test.cs b/src/JT809.Protocol.Test/JT809MessageBody/JT809_0x1102Test.cs index a2b7fb2..8bf70e5 100644 --- a/src/JT809.Protocol.Test/JT809MessageBody/JT809_0x1102Test.cs +++ b/src/JT809.Protocol.Test/JT809MessageBody/JT809_0x1102Test.cs @@ -52,7 +52,6 @@ namespace JT809.Protocol.Test.JT809MessageBody Bodies = new JT809_0x1102 { SubBusinessType = 0x1102, - DataLength = 36, PlateformId = "3000012345", StartTime = DateTime.Parse("2020-07-08 17:46:44"), EndTime = DateTime.Parse("2020-07-08 17:46:44"), diff --git a/src/JT809.Protocol/MessageBody/JT809_0x1102.cs b/src/JT809.Protocol/MessageBody/JT809_0x1102.cs index f6a5b56..6dd6b16 100644 --- a/src/JT809.Protocol/MessageBody/JT809_0x1102.cs +++ b/src/JT809.Protocol/MessageBody/JT809_0x1102.cs @@ -93,13 +93,14 @@ namespace JT809.Protocol.MessageBody public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1102 value, IJT809Config config) { writer.WriteUInt16(value.SubBusinessType); - writer.WriteUInt32(value.DataLength); + writer.Skip(4, out int subContentLengthPosition); writer.WriteStringPadRight(value.PlateformId, 11); writer.WriteUTCDateTime(value.StartTime); writer.WriteUTCDateTime(value.EndTime); writer.WriteUInt32(value.LoseDymamicSum); writer.WriteByte(value.DisconnectNum); writer.WriteUInt32(value.DisconnectTime); + writer.WriteInt32Return(writer.GetCurrentPosition() - subContentLengthPosition - 4, subContentLengthPosition); } } }