Skip to content

Commit 3ce943c

Browse files
committed
1.增加一个组包长度过长的异常抛出
2.升级依赖库
1 parent f5da1e4 commit 3ce943c

10 files changed

Lines changed: 41 additions & 26 deletions

File tree

src/JT808.Protocol.Benchmark/JT808.Protocol.Benchmark.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
<None Remove="ReportTest\**" />
1515
</ItemGroup>
1616
<ItemGroup>
17-
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" />
18-
<PackageReference Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.14.0" />
17+
<PackageReference Include="BenchmarkDotNet" Version="0.15.0" />
18+
<PackageReference Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.15.0" />
1919
<PackageReference Include="NETStandard.Library" Version="2.0.3" />
2020
<PackageReference Include="System.Buffers" Version="4.6.1" />
21-
<PackageReference Include="System.Memory" Version="4.6.2" />
21+
<PackageReference Include="System.Memory" Version="4.6.3" />
2222
</ItemGroup>
2323
<ItemGroup>
2424
<ProjectReference Include="..\JT808.Protocol\JT808.Protocol.csproj" />

src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.GPS51.Test/JT808.Protocol.Extensions.GPS51.Test.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.3" />
9-
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.3" />
10-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
8+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
9+
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.5" />
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
1111
<PackageReference Include="xunit" Version="2.9.3" />
12-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
12+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
1313
<PrivateAssets>all</PrivateAssets>
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1515
</PackageReference>

src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808.Protocol.Extensions.JT1078.Test.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.3" />
9-
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.3" />
10-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
8+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
9+
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.5" />
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
1111
<PackageReference Include="xunit" Version="2.9.3" />
12-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
12+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
1313
<PrivateAssets>all</PrivateAssets>
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1515
</PackageReference>

src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao.Test/JT808.Protocol.Extensions.SuBiao.Test.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.3" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
10+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
1212
<PackageReference Include="xunit" Version="2.9.3" />
13-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
13+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
1414
<PrivateAssets>all</PrivateAssets>
1515
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1616
</PackageReference>

src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808.Protocol.Extensions.YueBiao.Test.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.3" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
10+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
1212
<PackageReference Include="xunit" Version="2.9.3" />
13-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
13+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1515
<PrivateAssets>all</PrivateAssets>
1616
</PackageReference>

src/JT808.Protocol.Test/JT808.Protocol.Test.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,17 +108,17 @@
108108
</ItemGroup>
109109

110110
<ItemGroup>
111-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
111+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
112112
<PackageReference Include="NETStandard.Library" Version="2.0.3" />
113-
<PackageReference Include="System.Drawing.Common" Version="9.0.3" />
114-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.3" />
113+
<PackageReference Include="System.Drawing.Common" Version="9.0.5" />
114+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
115115
<PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
116116
<PackageReference Include="xunit" Version="2.9.3" />
117117
<PackageReference Include="xunit.runner.console" Version="2.9.3">
118118
<PrivateAssets>all</PrivateAssets>
119119
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
120120
</PackageReference>
121-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
121+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
122122
<PrivateAssets>all</PrivateAssets>
123123
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
124124
</PackageReference>

src/JT808.Protocol/Enums/JT808ErrorCode.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ public enum JT808ErrorCode
4242
/// <summary>
4343
/// 经纬度错误
4444
/// </summary>
45-
LatOrLngError = 1009
45+
LatOrLngError = 1009,
46+
/// <summary>
47+
/// 消息体长度过长
48+
/// 0b_001111111111
49+
/// </summary>
50+
MessageBodyLengthTooLong = 1010,
4651
}
4752
}

src/JT808.Protocol/JT808.Protocol.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@
4444
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
4545
<PackageReference Include="System.Buffers" Version="4.6.1" />
4646
<PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
47-
<PackageReference Include="System.Memory" Version="4.6.2" />
47+
<PackageReference Include="System.Memory" Version="4.6.3" />
4848
<PackageReference Include="System.Reflection.Extensions" Version="4.3.0" />
49-
<PackageReference Include="System.Text.Json" Version="9.0.3" />
49+
<PackageReference Include="System.Text.Json" Version="9.0.5" />
5050
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.3" />
5151
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.3" />
5252
</ItemGroup>
@@ -62,8 +62,8 @@
6262
</ItemGroup>
6363

6464
<ItemGroup Condition=" '$(TargetFramework)' == 'net9.0' ">
65-
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.3" />
66-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.3" />
65+
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.5" />
66+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.5" />
6767
</ItemGroup>
6868

6969
<ItemGroup>

src/JT808.Protocol/JT808.Protocol.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,12 @@
691691
经纬度错误
692692
</summary>
693693
</member>
694+
<member name="F:JT808.Protocol.Enums.JT808ErrorCode.MessageBodyLengthTooLong">
695+
<summary>
696+
消息体长度过长
697+
0b_001111111111
698+
</summary>
699+
</member>
694700
<member name="T:JT808.Protocol.Enums.JT808EventItemCoding">
695701
<summary>
696702
事件项编码

src/JT808.Protocol/JT808Package.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,10 @@ public override void Serialize(ref JT808MessagePackWriter writer, JT808Package v
228228
// 3.1.处理数据体长度
229229
// 2.2.回写消息体属性
230230
value.Header.MessageBodyProperty.DataLength = (writer.GetCurrentPosition() - headerLength);
231+
if (value.Header.MessageBodyProperty.DataLength > 0b_0011_1111_1111)
232+
{
233+
throw new JT808Exception(JT808ErrorCode.MessageBodyLengthTooLong, $"消息体长度不能超过1023字节,当前:{value.Header.MessageBodyProperty.DataLength}字节");
234+
}
231235
writer.WriteUInt16Return(value.Header.MessageBodyProperty.Wrap(), msgBodiesPropertyPosition);
232236
// 4.校验码
233237
writer.WriteXor();

0 commit comments

Comments
 (0)