@@ -12,7 +12,7 @@ jobs: | |||||
- name: Setup .NET Core | - name: Setup .NET Core | ||||
uses: actions/setup-dotnet@master | uses: actions/setup-dotnet@master | ||||
with: | with: | ||||
dotnet-version: 7.0.203 | |||||
dotnet-version: 8.0.100 | |||||
- name: dotnet info | - name: dotnet info | ||||
run: dotnet --info | run: dotnet --info | ||||
- name: dotnet JT808.Gateway restore | - name: dotnet JT808.Gateway restore | ||||
@@ -1,30 +1,9 @@ | |||||
# JT808Gateway | # JT808Gateway | ||||
JT808Pipeline支持TCP/UDP通用消息业务处理 | |||||
[了解JT808协议进这边](https://github.com/SmallChi/JT808) | |||||
[了解JT809协议进这边](https://github.com/SmallChi/JT809) | |||||
[了解JT1078协议进这边](https://github.com/SmallChi/JT1078) | |||||
[了解JTNE协议进这边](https://github.com/SmallChi/JTNewEnergy) | |||||
[玩一玩压力测试](https://github.com/SmallChi/JT808Gateway/blob/master/doc/README.md) | |||||
支持TCP/UDP通用消息业务处理 | |||||
[](https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE) | [](https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE) | ||||
## 新网关的优势 | |||||
1. 跨平台 | |||||
2. 借助 .NET Core模块化的思想 | |||||
3. 单机同时一万辆车在线不是梦(真有一万辆车那都很吃香了<( ̄3 ̄)> <( ̄3 ̄)> <( ̄3 ̄)> ) | |||||
4. 简单易上手 | |||||
## 设计模型 | |||||
 | |||||
## 集成接口功能 | ## 集成接口功能 | ||||
| 接口名称 | 接口说明 | 使用场景 | | | 接口名称 | 接口说明 | 使用场景 | | ||||
@@ -102,4 +81,4 @@ Pipeline分为两种方式使用,一种是使用队列的方式,一种是网 | |||||
- 多协议兼容实现思路[点我查看](https://github.com/SmallChi/JT808Gateway/issues/11#issuecomment-727687417) | - 多协议兼容实现思路[点我查看](https://github.com/SmallChi/JT808Gateway/issues/11#issuecomment-727687417) | ||||
> 单端口兼容多协议虽然可以实现,但是还是不建议这么做,建议最好是用端口分开,避免不必要的麻烦 | |||||
> 单端口兼容多协议虽然可以实现,但是还是不建议这么做,建议最好是用端口分开,避免不必要的麻烦 |
@@ -1,5 +1,5 @@ | |||||
{ | { | ||||
"sdk": { | "sdk": { | ||||
"version": "7.0.306" | |||||
"version": "8.0.100" | |||||
} | } | ||||
} | } |
@@ -2,14 +2,14 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
<TargetFramework>net7.0</TargetFramework> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<Import Project="..\pipeline.props" /> | <Import Project="..\pipeline.props" /> | ||||
</Project> | </Project> |
@@ -1,7 +1,7 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk.Web"> | <Project Sdk="Microsoft.NET.Sdk.Web"> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFramework>net7.0</TargetFramework> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -2,14 +2,14 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
<TargetFramework>net7.0</TargetFramework> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<Import Project="..\pipeline.props" /> | <Import Project="..\pipeline.props" /> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -2,14 +2,14 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
<TargetFramework>net7.0</TargetFramework> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<Import Project="..\pipeline.props" /> | <Import Project="..\pipeline.props" /> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -2,13 +2,13 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
<TargetFramework>net7.0</TargetFramework> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<Import Project="..\pipeline.props" /> | <Import Project="..\pipeline.props" /> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -15,8 +15,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Gateway.SimpleQueueSe | |||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Gateway.SimpleQueueNotification", "JT808.Gateway.SimpleQueueNotification\JT808.Gateway.SimpleQueueNotification.csproj", "{163D2EE2-9A62-4E8A-B203-BF147909E89A}" | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Gateway.SimpleQueueNotification", "JT808.Gateway.SimpleQueueNotification\JT808.Gateway.SimpleQueueNotification.csproj", "{163D2EE2-9A62-4E8A-B203-BF147909E89A}" | ||||
EndProject | EndProject | ||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Gateway.NBIotSimpleClient", "JT808.Gateway.NBIotSimpleClient\JT808.Gateway.NBIotSimpleClient.csproj", "{95F159E4-07A3-4736-9D05-2D88EE43FD5E}" | |||||
EndProject | |||||
Global | Global | ||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
Debug|Any CPU = Debug|Any CPU | Debug|Any CPU = Debug|Any CPU | ||||
@@ -43,10 +41,6 @@ Global | |||||
{163D2EE2-9A62-4E8A-B203-BF147909E89A}.Debug|Any CPU.Build.0 = Debug|Any CPU | {163D2EE2-9A62-4E8A-B203-BF147909E89A}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
{163D2EE2-9A62-4E8A-B203-BF147909E89A}.Release|Any CPU.ActiveCfg = Release|Any CPU | {163D2EE2-9A62-4E8A-B203-BF147909E89A}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
{163D2EE2-9A62-4E8A-B203-BF147909E89A}.Release|Any CPU.Build.0 = Release|Any CPU | {163D2EE2-9A62-4E8A-B203-BF147909E89A}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
{95F159E4-07A3-4736-9D05-2D88EE43FD5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||||
{95F159E4-07A3-4736-9D05-2D88EE43FD5E}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||||
{95F159E4-07A3-4736-9D05-2D88EE43FD5E}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||||
{95F159E4-07A3-4736-9D05-2D88EE43FD5E}.Release|Any CPU.Build.0 = Release|Any CPU | |||||
EndGlobalSection | EndGlobalSection | ||||
GlobalSection(SolutionProperties) = preSolution | GlobalSection(SolutionProperties) = preSolution | ||||
HideSolutionNode = FALSE | HideSolutionNode = FALSE | ||||
@@ -57,7 +51,6 @@ Global | |||||
{8594AC7F-18B4-439D-B58B-1CEFF0833A1A} = {2459FB59-8A33-49A4-ADBC-A0B12C5886A6} | {8594AC7F-18B4-439D-B58B-1CEFF0833A1A} = {2459FB59-8A33-49A4-ADBC-A0B12C5886A6} | ||||
{E2D1CFEF-417A-4C44-BC2E-E5A160602485} = {2459FB59-8A33-49A4-ADBC-A0B12C5886A6} | {E2D1CFEF-417A-4C44-BC2E-E5A160602485} = {2459FB59-8A33-49A4-ADBC-A0B12C5886A6} | ||||
{163D2EE2-9A62-4E8A-B203-BF147909E89A} = {2459FB59-8A33-49A4-ADBC-A0B12C5886A6} | {163D2EE2-9A62-4E8A-B203-BF147909E89A} = {2459FB59-8A33-49A4-ADBC-A0B12C5886A6} | ||||
{95F159E4-07A3-4736-9D05-2D88EE43FD5E} = {2459FB59-8A33-49A4-ADBC-A0B12C5886A6} | |||||
EndGlobalSection | EndGlobalSection | ||||
GlobalSection(ExtensibilityGlobals) = postSolution | GlobalSection(ExtensibilityGlobals) = postSolution | ||||
SolutionGuid = {FC0FFCEA-E1EF-4C97-A1C5-F89418B6834B} | SolutionGuid = {FC0FFCEA-E1EF-4C97-A1C5-F89418B6834B} | ||||
@@ -16,14 +16,17 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="JT808" Version="2.6.2-preview5" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Options" Version="7.0.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0" /> | |||||
<PackageReference Include="JT808" Version="2.6.5" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Options" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | <None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | ||||
<None Include="..\..\README.md" Pack="true" PackagePath="" /> | <None Include="..\..\README.md" Pack="true" PackagePath="" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | |||||
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="8.0.0" /> | |||||
</ItemGroup> | |||||
</Project> | </Project> |
@@ -2,8 +2,8 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
<TargetFramework>net7</TargetFramework> | |||||
<LangVersion>11.0</LangVersion> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
<LangVersion>12.0</LangVersion> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -16,11 +16,11 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" /> | |||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> | |||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.7" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -2,14 +2,14 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
<TargetFramework>net7</TargetFramework> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" /> | |||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.18.1" /> | |||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.5" /> | |||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.7" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -10,14 +10,17 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="JT808" Version="2.6.2-preview5" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0" /> | |||||
<PackageReference Include="System.IO.Pipelines" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0" /> | |||||
<PackageReference Include="JT808" Version="2.6.5" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0" /> | |||||
<PackageReference Include="System.IO.Pipelines" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | <None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | ||||
<None Include="..\..\README.md" Pack="true" PackagePath="" /> | <None Include="..\..\README.md" Pack="true" PackagePath="" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | |||||
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="8.0.0" /> | |||||
</ItemGroup> | |||||
</Project> | </Project> |
@@ -8,7 +8,7 @@ | |||||
<DocumentationFile>JT808.Gateway.Kafka.xml</DocumentationFile> | <DocumentationFile>JT808.Gateway.Kafka.xml</DocumentationFile> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Confluent.Kafka" Version="2.1.1" /> | |||||
<PackageReference Include="Confluent.Kafka" Version="2.3.0" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -20,4 +20,8 @@ | |||||
<ProjectReference Include="..\JT808.Gateway.Abstractions\JT808.Gateway.Abstractions.csproj" /> | <ProjectReference Include="..\JT808.Gateway.Abstractions\JT808.Gateway.Abstractions.csproj" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | |||||
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="8.0.0" /> | |||||
</ItemGroup> | |||||
</Project> | </Project> |
@@ -2,7 +2,7 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
<TargetFramework>net7</TargetFramework> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -22,11 +22,11 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" /> | |||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.18.1" /> | |||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.5" /> | |||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.7" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -2,7 +2,7 @@ | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
<TargetFramework>net7</TargetFramework> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -10,10 +10,10 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" /> | |||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.18.1" /> | |||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.5" /> | |||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.7" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -1,17 +1,17 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | <Project Sdk="Microsoft.NET.Sdk"> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFramework>net7.0</TargetFramework> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
<IsPackable>false</IsPackable> | <IsPackable>false</IsPackable> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.1" /> | |||||
<PackageReference Include="xunit" Version="2.4.2" /> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" /> | |||||
<PackageReference Include="xunit" Version="2.6.2" /> | |||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.4"> | |||||
<PrivateAssets>all</PrivateAssets> | <PrivateAssets>all</PrivateAssets> | ||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||||
</PackageReference> | </PackageReference> | ||||
@@ -13,9 +13,12 @@ | |||||
<None Include="..\..\README.md" Pack="true" PackagePath="" /> | <None Include="..\..\README.md" Pack="true" PackagePath="" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Http" Version="7.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.0" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\JT808.Gateway.Abstractions\JT808.Gateway.Abstractions.csproj" /> | <ProjectReference Include="..\JT808.Gateway.Abstractions\JT808.Gateway.Abstractions.csproj" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | |||||
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="8.0.0" /> | |||||
</ItemGroup> | |||||
</Project> | </Project> |
@@ -16,7 +16,7 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<FrameworkReference Include="Microsoft.AspNetCore.App" /> | <FrameworkReference Include="Microsoft.AspNetCore.App" /> | ||||
<PackageReference Include="System.IO.Pipelines" Version="7.0.0" /> | |||||
<PackageReference Include="System.IO.Pipelines" Version="8.0.0" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -26,4 +26,7 @@ | |||||
<None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | <None Include="..\..\LICENSE" Pack="true" PackagePath="" /> | ||||
<None Include="..\..\README.md" Pack="true" PackagePath="" /> | <None Include="..\..\README.md" Pack="true" PackagePath="" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | |||||
<PackageReference Update="Microsoft.SourceLink.GitHub" Version="8.0.0" /> | |||||
</ItemGroup> | |||||
</Project> | </Project> |
@@ -118,16 +118,9 @@ namespace JT808.Gateway | |||||
SessionManager.RemoveBySessionId(session.SessionID); | SessionManager.RemoveBySessionId(session.SessionID); | ||||
}, jT808TcpSession); | }, jT808TcpSession); | ||||
} | } | ||||
catch (OperationCanceledException) | |||||
{ | |||||
break; | |||||
} | |||||
catch (ObjectDisposedException) | |||||
{ | |||||
break; | |||||
} | |||||
catch (Exception) | catch (Exception) | ||||
{ | { | ||||
break; | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -163,13 +156,11 @@ namespace JT808.Gateway | |||||
Logger.LogError($"[{ex.SocketErrorCode},{ex.Message}]:{session.Client.RemoteEndPoint},{session.TerminalPhoneNo}"); | Logger.LogError($"[{ex.SocketErrorCode},{ex.Message}]:{session.Client.RemoteEndPoint},{session.TerminalPhoneNo}"); | ||||
break; | break; | ||||
} | } | ||||
#pragma warning disable CA1031 // Do not catch general exception types | |||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
Logger.LogError(ex, $"[Receive Error]:{session.Client.RemoteEndPoint},{session.TerminalPhoneNo}"); | Logger.LogError(ex, $"[Receive Error]:{session.Client.RemoteEndPoint},{session.TerminalPhoneNo}"); | ||||
break; | break; | ||||
} | } | ||||
#pragma warning restore CA1031 // Do not catch general exception types | |||||
} | } | ||||
writer.Complete(); | writer.Complete(); | ||||
} | } | ||||
@@ -177,7 +168,7 @@ namespace JT808.Gateway | |||||
{ | { | ||||
while (true) | while (true) | ||||
{ | { | ||||
ReadResult result = await reader.ReadAsync(); | |||||
ReadResult result = await reader.ReadAsync(session.ReceiveTimeout.Token); | |||||
if (result.IsCompleted) | if (result.IsCompleted) | ||||
{ | { | ||||
break; | break; | ||||
@@ -314,14 +305,13 @@ namespace JT808.Gateway | |||||
public Task StopAsync(CancellationToken cancellationToken) | public Task StopAsync(CancellationToken cancellationToken) | ||||
{ | { | ||||
Logger.LogInformation("JT808 Tcp Server Stop"); | Logger.LogInformation("JT808 Tcp Server Stop"); | ||||
if (server?.Connected ?? false) | |||||
server.Shutdown(SocketShutdown.Both); | |||||
server?.Close(); | |||||
server?.Dispose(); | |||||
foreach (var item in SessionManager.Sessions) | foreach (var item in SessionManager.Sessions) | ||||
{ | { | ||||
item.Value.Client.Close(); | item.Value.Client.Close(); | ||||
} | } | ||||
if (server?.Connected ?? false) | |||||
server.Shutdown(SocketShutdown.Both); | |||||
server?.Close(); | |||||
return Task.CompletedTask; | return Task.CompletedTask; | ||||
} | } | ||||
} | } | ||||
@@ -100,7 +100,7 @@ namespace JT808.Gateway | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
var package = Serializer.HeaderDeserialize(buffer, minBufferSize: 4096); | |||||
var package = Serializer.HeaderDeserialize(buffer, minBufferSize: ConfigurationMonitor.CurrentValue.MiniNumBufferSize); | |||||
if (Logger.IsEnabled(LogLevel.Trace)) Logger.LogTrace($"[Accept Hex {receiveMessageFromResult.RemoteEndPoint}]:{package.OriginalData.ToHexString()}"); | if (Logger.IsEnabled(LogLevel.Trace)) Logger.LogTrace($"[Accept Hex {receiveMessageFromResult.RemoteEndPoint}]:{package.OriginalData.ToHexString()}"); | ||||
var session = SessionManager.TryLink(package.Header.TerminalPhoneNo, socket, receiveMessageFromResult.RemoteEndPoint); | var session = SessionManager.TryLink(package.Header.TerminalPhoneNo, socket, receiveMessageFromResult.RemoteEndPoint); | ||||
if (Logger.IsEnabled(LogLevel.Information)) | if (Logger.IsEnabled(LogLevel.Information)) | ||||
@@ -117,12 +117,10 @@ namespace JT808.Gateway | |||||
{ | { | ||||
Logger.LogError($"[HeaderDeserialize ErrorCode]:{ ex.ErrorCode},[ReaderBuffer]:{buffer.ToArray().ToHexString()}"); | Logger.LogError($"[HeaderDeserialize ErrorCode]:{ ex.ErrorCode},[ReaderBuffer]:{buffer.ToArray().ToHexString()}"); | ||||
} | } | ||||
#pragma warning disable CA1031 // Do not catch general exception types | |||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
Logger.LogError(ex, $"[ReaderBuffer]:{ buffer.ToArray().ToHexString()}"); | Logger.LogError(ex, $"[ReaderBuffer]:{ buffer.ToArray().ToHexString()}"); | ||||
} | } | ||||
#pragma warning restore CA1031 // Do not catch general exception types | |||||
} | } | ||||
private void Processor(in IJT808Session session, in JT808HeaderPackage package) | private void Processor(in IJT808Session session, in JT808HeaderPackage package) | ||||
@@ -1,14 +1,14 @@ | |||||
<Project> | <Project> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFramework>net7.0</TargetFramework> | |||||
<LangVersion>11.0</LangVersion> | |||||
<TargetFramework>net8.0</TargetFramework> | |||||
<LangVersion>12.0</LangVersion> | |||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
<RepositoryUrl>https://github.com/SmallChi/JT808Gateway</RepositoryUrl> | <RepositoryUrl>https://github.com/SmallChi/JT808Gateway</RepositoryUrl> | ||||
<PackageProjectUrl>https://github.com/SmallChi/JT808Gateway</PackageProjectUrl> | <PackageProjectUrl>https://github.com/SmallChi/JT808Gateway</PackageProjectUrl> | ||||
<licenseUrl>https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE</licenseUrl> | <licenseUrl>https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE</licenseUrl> | ||||
<license>https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE</license> | <license>https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE</license> | ||||
<Version>1.1.8-preview6</Version> | |||||
<Version>1.1.8-preview7</Version> | |||||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | <PackageLicenseFile>LICENSE</PackageLicenseFile> | ||||
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> | ||||
<AnalysisLevel>latest</AnalysisLevel> | <AnalysisLevel>latest</AnalysisLevel> | ||||