@@ -1,7 +1,7 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | <Project Sdk="Microsoft.NET.Sdk"> | ||||
<Import Project="..\Version.props" /> | <Import Project="..\Version.props" /> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.1;net5;</TargetFrameworks> | |||||
<TargetFrameworks>netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>9.0</LangVersion> | <LangVersion>9.0</LangVersion> | ||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
@@ -28,7 +28,7 @@ | |||||
<Compile Remove="JT808QueueReplyMessageHandler.cs" /> | <Compile Remove="JT808QueueReplyMessageHandler.cs" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="JT808" Version="2.3.1" /> | |||||
<PackageReference Include="JT808" Version="2.3.3" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0" /> | ||||
<PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0" /> | ||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0" /> | ||||
@@ -18,7 +18,7 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0" /> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" /> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" /> | ||||
<PackageReference Include="NLog.Extensions.Logging" Version="1.6.5" /> | <PackageReference Include="NLog.Extensions.Logging" Version="1.6.5" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -6,7 +6,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" /> | ||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.8" /> | <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.8" /> | ||||
<PackageReference Include="NLog.Extensions.Logging" Version="1.6.5" /> | <PackageReference Include="NLog.Extensions.Logging" Version="1.6.5" /> | ||||
@@ -2,7 +2,7 @@ | |||||
<Import Project="..\Version.props" /> | <Import Project="..\Version.props" /> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.1;net5;</TargetFrameworks> | |||||
<TargetFrameworks>netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>9.0</LangVersion> | <LangVersion>9.0</LangVersion> | ||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
@@ -23,9 +23,9 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="JT808" Version="2.3.0" /> | |||||
<PackageReference Include="JT808" Version="2.3.3" /> | |||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0" /> | ||||
<PackageReference Include="System.IO.Pipelines" Version="5.0.0" /> | |||||
<PackageReference Include="System.IO.Pipelines" Version="5.0.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0" /> | ||||
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0" /> | <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,7 +1,7 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | <Project Sdk="Microsoft.NET.Sdk"> | ||||
<Import Project="..\Version.props" /> | <Import Project="..\Version.props" /> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.1;net5;</TargetFrameworks> | |||||
<TargetFrameworks>netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>9.0</LangVersion> | <LangVersion>9.0</LangVersion> | ||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
@@ -21,7 +21,7 @@ | |||||
<Version>$(JT808GatewayPackageVersion)</Version> | <Version>$(JT808GatewayPackageVersion)</Version> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="Confluent.Kafka" Version="1.5.2" /> | |||||
<PackageReference Include="Confluent.Kafka" Version="1.5.3" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -2,7 +2,7 @@ | |||||
<Import Project="..\..\Version.props" /> | <Import Project="..\..\Version.props" /> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.1;net5;</TargetFrameworks> | |||||
<TargetFrameworks>netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>9.0</LangVersion> | <LangVersion>9.0</LangVersion> | ||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
@@ -1,7 +1,7 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | <Project Sdk="Microsoft.NET.Sdk"> | ||||
<Import Project="..\..\Version.props" /> | <Import Project="..\..\Version.props" /> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.1;net5;</TargetFrameworks> | |||||
<TargetFrameworks>netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>9.0</LangVersion> | <LangVersion>9.0</LangVersion> | ||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
@@ -2,7 +2,7 @@ | |||||
<Import Project="..\..\Version.props" /> | <Import Project="..\..\Version.props" /> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.1;net5;</TargetFrameworks> | |||||
<TargetFrameworks>netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>9.0</LangVersion> | <LangVersion>9.0</LangVersion> | ||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
@@ -2,7 +2,7 @@ | |||||
<Import Project="..\..\Version.props" /> | <Import Project="..\..\Version.props" /> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.1;net5;</TargetFrameworks> | |||||
<TargetFrameworks>netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>9.0</LangVersion> | <LangVersion>9.0</LangVersion> | ||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
@@ -45,7 +45,7 @@ namespace JT808.Gateway.NormalHosting.Impl | |||||
{ | { | ||||
//AOP 可以自定义添加一些东西:上下行日志、 | //AOP 可以自定义添加一些东西:上下行日志、 | ||||
logger.LogDebug("可以自定义添加一些东西:上下行日志、数据转发"); | logger.LogDebug("可以自定义添加一些东西:上下行日志、数据转发"); | ||||
var parameter = (request.Header.TerminalPhoneNo, request.OriginalData.ToArray()); | |||||
var parameter = (request.Header.TerminalPhoneNo, request.OriginalData); | |||||
//上行日志(可同步也可以使用队列进行异步) | //上行日志(可同步也可以使用队列进行异步) | ||||
jT808MsgLogging.Processor(parameter, JT808MsgLoggingType.up); | jT808MsgLogging.Processor(parameter, JT808MsgLoggingType.up); | ||||
//下行日志(可同步也可以使用队列进行异步) | //下行日志(可同步也可以使用队列进行异步) | ||||
@@ -13,14 +13,14 @@ namespace JT808.Gateway.QueueHosting.Impl | |||||
public class JT808ReplyMessageHandlerImpl : IJT808ReplyMessageHandler | public class JT808ReplyMessageHandlerImpl : IJT808ReplyMessageHandler | ||||
{ | { | ||||
private ILogger logger; | private ILogger logger; | ||||
private JT808Serializer Serializer; | |||||
private JT808Serializer JT808Serializer; | |||||
public JT808ReplyMessageHandlerImpl( | public JT808ReplyMessageHandlerImpl( | ||||
IJT808Config jT808Config, | IJT808Config jT808Config, | ||||
ILoggerFactory loggerFactory) | ILoggerFactory loggerFactory) | ||||
{ | { | ||||
logger = loggerFactory.CreateLogger<JT808ReplyMessageHandlerImpl>(); | logger = loggerFactory.CreateLogger<JT808ReplyMessageHandlerImpl>(); | ||||
Serializer = jT808Config.GetSerializer(); | |||||
JT808Serializer = jT808Config.GetSerializer(); | |||||
} | } | ||||
public byte[] Processor(string TerminalNo, byte[] Data) | public byte[] Processor(string TerminalNo, byte[] Data) | ||||
@@ -29,12 +29,32 @@ namespace JT808.Gateway.QueueHosting.Impl | |||||
{ | { | ||||
logger.LogDebug($"实现消息应答处理,{TerminalNo},{Data.ToHexString()}"); | logger.LogDebug($"实现消息应答处理,{TerminalNo},{Data.ToHexString()}"); | ||||
} | } | ||||
var package = Serializer.Deserialize(Data); | |||||
var package = JT808Serializer.Deserialize(Data); | |||||
if (package.Header.MsgId == 0x09999) | if (package.Header.MsgId == 0x09999) | ||||
{ | { | ||||
logger.LogDebug("====实现自定义或内部消息应答处理===="); | logger.LogDebug("====实现自定义或内部消息应答处理===="); | ||||
} | } | ||||
return default; | return default; | ||||
//if (package.Version == JT808Version.JTT2019) | |||||
//{ | |||||
// byte[] data = JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(package.Header.TerminalPhoneNo, new JT808_0x8001() | |||||
// { | |||||
// AckMsgId = package.Header.MsgId, | |||||
// JT808PlatformResult = JT808PlatformResult.成功, | |||||
// MsgNum = package.Header.MsgNum | |||||
// })); | |||||
// return data; | |||||
//} | |||||
//else | |||||
//{ | |||||
// byte[] data = JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(package.Header.TerminalPhoneNo, new JT808_0x8001() | |||||
// { | |||||
// AckMsgId = package.Header.MsgId, | |||||
// JT808PlatformResult = JT808PlatformResult.成功, | |||||
// MsgNum = package.Header.MsgNum | |||||
// })); | |||||
// return data; | |||||
//} | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -42,4 +42,6 @@ | |||||
</None> | </None> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions> | |||||
</Project> | </Project> |
@@ -6,6 +6,7 @@ | |||||
"Token": "123456", | "Token": "123456", | ||||
"MiniNumBufferSize": 51200, | "MiniNumBufferSize": 51200, | ||||
"SoBacklog": 65535 | "SoBacklog": 65535 | ||||
//"IgnoreMsgIdReply": [ 512 ] | |||||
}, | }, | ||||
"JT808WebApiClientToolConfig": { | "JT808WebApiClientToolConfig": { | ||||
"Token": "123456", | "Token": "123456", | ||||
@@ -1,7 +1,7 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | <Project Sdk="Microsoft.NET.Sdk"> | ||||
<Import Project="..\Version.props" /> | <Import Project="..\Version.props" /> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.1;net5;</TargetFrameworks> | |||||
<TargetFrameworks>netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>9.0</LangVersion> | <LangVersion>9.0</LangVersion> | ||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
@@ -1,7 +1,7 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | <Project Sdk="Microsoft.NET.Sdk"> | ||||
<Import Project="..\Version.props" /> | <Import Project="..\Version.props" /> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netstandard2.1;net5;</TargetFrameworks> | |||||
<TargetFrameworks>netstandard2.1;net5.0;</TargetFrameworks> | |||||
<LangVersion>8.0</LangVersion> | <LangVersion>8.0</LangVersion> | ||||
<Copyright>Copyright 2019.</Copyright> | <Copyright>Copyright 2019.</Copyright> | ||||
<Authors>SmallChi(Koike)</Authors> | <Authors>SmallChi(Koike)</Authors> | ||||
@@ -27,7 +27,7 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="System.IO.Pipelines" Version="5.0.0" /> | |||||
<PackageReference Include="System.IO.Pipelines" Version="5.0.1" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -204,7 +204,7 @@ namespace JT808.Gateway | |||||
if (contentSpan.Length > 14) | if (contentSpan.Length > 14) | ||||
{ | { | ||||
var package = Serializer.HeaderDeserialize(contentSpan, minBufferSize: 10240); | var package = Serializer.HeaderDeserialize(contentSpan, minBufferSize: 10240); | ||||
if (Logger.IsEnabled(LogLevel.Trace)) Logger.LogTrace($"[Accept Hex {session.Client.RemoteEndPoint}-{session.TerminalPhoneNo}]:{package.OriginalData.ToArray().ToHexString()}"); | |||||
if (Logger.IsEnabled(LogLevel.Trace)) Logger.LogTrace($"[Accept Hex {session.Client.RemoteEndPoint}-{session.TerminalPhoneNo}]:{package.OriginalData.ToHexString()}"); | |||||
SessionManager.TryLink(package.Header.TerminalPhoneNo, session); | SessionManager.TryLink(package.Header.TerminalPhoneNo, session); | ||||
Processor(session, package); | Processor(session, package); | ||||
} | } | ||||
@@ -242,7 +242,7 @@ namespace JT808.Gateway | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
MsgProducer?.ProduceAsync(package.Header.TerminalPhoneNo, package.OriginalData.ToArray()); | |||||
MsgProducer?.ProduceAsync(package.Header.TerminalPhoneNo, package.OriginalData); | |||||
var downData = MessageHandler.Processor(in package); | var downData = MessageHandler.Processor(in package); | ||||
if (ConfigurationMonitor.CurrentValue.IgnoreMsgIdReply != null && ConfigurationMonitor.CurrentValue.IgnoreMsgIdReply.Count > 0) | if (ConfigurationMonitor.CurrentValue.IgnoreMsgIdReply != null && ConfigurationMonitor.CurrentValue.IgnoreMsgIdReply.Count > 0) | ||||
{ | { | ||||
@@ -263,7 +263,7 @@ namespace JT808.Gateway | |||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
Logger.LogError(ex, $"[Processor]:{package.OriginalData.ToArray().ToHexString()},{session.Client.RemoteEndPoint},{session.TerminalPhoneNo}"); | |||||
Logger.LogError(ex, $"[Processor]:{package.OriginalData.ToHexString()},{session.Client.RemoteEndPoint},{session.TerminalPhoneNo}"); | |||||
} | } | ||||
} | } | ||||
public Task StopAsync(CancellationToken cancellationToken) | public Task StopAsync(CancellationToken cancellationToken) | ||||
@@ -99,7 +99,7 @@ namespace JT808.Gateway | |||||
try | try | ||||
{ | { | ||||
var package = Serializer.HeaderDeserialize(buffer, minBufferSize: 10240); | var package = Serializer.HeaderDeserialize(buffer, minBufferSize: 10240); | ||||
if (Logger.IsEnabled(LogLevel.Trace)) Logger.LogTrace($"[Accept Hex {receiveMessageFromResult.RemoteEndPoint}]:{package.OriginalData.ToArray().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)) | ||||
{ | { | ||||
@@ -127,7 +127,7 @@ namespace JT808.Gateway | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
MsgProducer?.ProduceAsync(package.Header.TerminalPhoneNo, package.OriginalData.ToArray()); | |||||
MsgProducer?.ProduceAsync(package.Header.TerminalPhoneNo, package.OriginalData); | |||||
var downData = MessageHandler.Processor(package); | var downData = MessageHandler.Processor(package); | ||||
if (ConfigurationMonitor.CurrentValue.IgnoreMsgIdReply != null && ConfigurationMonitor.CurrentValue.IgnoreMsgIdReply.Count > 0) | if (ConfigurationMonitor.CurrentValue.IgnoreMsgIdReply != null && ConfigurationMonitor.CurrentValue.IgnoreMsgIdReply.Count > 0) | ||||
{ | { | ||||
@@ -148,7 +148,7 @@ namespace JT808.Gateway | |||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
Logger.LogError(ex, $"[Processor]:{package.OriginalData.ToArray().ToHexString()},{session.Client.RemoteEndPoint},{session.TerminalPhoneNo}"); | |||||
Logger.LogError(ex, $"[Processor]:{package.OriginalData.ToHexString()},{session.Client.RemoteEndPoint},{session.TerminalPhoneNo}"); | |||||
} | } | ||||
} | } | ||||
public Task StopAsync(CancellationToken cancellationToken) | public Task StopAsync(CancellationToken cancellationToken) | ||||
@@ -1,6 +1,6 @@ | |||||
<Project> | <Project> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<JT808DotNettyPackageVersion>2.3.2</JT808DotNettyPackageVersion> | <JT808DotNettyPackageVersion>2.3.2</JT808DotNettyPackageVersion> | ||||
<JT808GatewayPackageVersion>1.1.0-preview4</JT808GatewayPackageVersion> | |||||
<JT808GatewayPackageVersion>1.1.0-preview5</JT808GatewayPackageVersion> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
</Project> | </Project> |