diff --git a/.travis.yml b/.travis.yml index fa0212b..a7ab85a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: csharp solution: JT808.DotNetty.sln -dotnet: 3.0.100 +dotnet: 3.1.100 os: linux mono: none dist: trusty2 diff --git a/README.md b/README.md index 6340112..e7bcda4 100644 --- a/README.md +++ b/README.md @@ -128,13 +128,11 @@ static async Task Main(string[] args) ## 举个栗子2 -1.拉取JT808子模块 +1.打开项目进行还原编译生成 -2.打开项目进行还原编译生成 +2.进入JT808.DotNetty.SimpleServer项目下的Debug目录运行服务端 -3.进入JT808.DotNetty.SimpleServer项目下的Debug目录运行服务端 - -4.进入JT808.DotNetty.SimpleClient项目下的Debug目录运行客户端 +3.进入JT808.DotNetty.SimpleClient项目下的Debug目录运行客户端 如图所示: ![demo2](https://github.com/SmallChi/JT808DotNetty/blob/master/doc/img/demo2.png) \ No newline at end of file diff --git a/doc/img/demo2.png b/doc/img/demo2.png index 04883b4..052895e 100644 Binary files a/doc/img/demo2.png and b/doc/img/demo2.png differ diff --git a/simples/JT808.DotNetty.SimpleClient/JT808.DotNetty.SimpleClient.csproj b/simples/JT808.DotNetty.SimpleClient/JT808.DotNetty.SimpleClient.csproj index 2761ddd..12f032f 100644 --- a/simples/JT808.DotNetty.SimpleClient/JT808.DotNetty.SimpleClient.csproj +++ b/simples/JT808.DotNetty.SimpleClient/JT808.DotNetty.SimpleClient.csproj @@ -2,14 +2,14 @@ Exe - netcoreapp3.0 + netcoreapp3.1 7.3 - - - - + + + + diff --git a/simples/JT808.DotNetty.SimpleClient/Program.cs b/simples/JT808.DotNetty.SimpleClient/Program.cs index f8cf3ca..050a4f9 100644 --- a/simples/JT808.DotNetty.SimpleClient/Program.cs +++ b/simples/JT808.DotNetty.SimpleClient/Program.cs @@ -33,6 +33,7 @@ namespace JT808.DotNetty.SimpleClient services.AddJT808Configure() .AddJT808Client(); services.AddHostedService(); + services.AddHostedService(); }); await serverHostBuilder.RunConsoleAsync(); } diff --git a/simples/JT808.DotNetty.SimpleClient/Services/Up2019Service.cs b/simples/JT808.DotNetty.SimpleClient/Services/Up2019Service.cs new file mode 100644 index 0000000..cfac566 --- /dev/null +++ b/simples/JT808.DotNetty.SimpleClient/Services/Up2019Service.cs @@ -0,0 +1,73 @@ +using JT808.DotNetty.Client; +using JT808.Protocol.MessageBody; +using JT808.Protocol.Enums; +using JT808.Protocol.Extensions; +using Microsoft.Extensions.Hosting; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace JT808.DotNetty.SimpleClient.Services +{ + public class Up2019Service : IHostedService + { + private readonly IJT808TcpClientFactory jT808TcpClientFactory; + + public Up2019Service(IJT808TcpClientFactory jT808TcpClientFactory) + { + this.jT808TcpClientFactory = jT808TcpClientFactory; + } + + public Task StartAsync(CancellationToken cancellationToken) + { + string sim = "22222222222"; + JT808TcpClient client1 = jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, "127.0.0.1", 808, JT808Version.JTT2019)); + //1.终端注册 + client1.Send(JT808MsgId.终端注册.Create2019(sim, new JT808_0x0100() + { + PlateNo = "粤A12346", + PlateColor = 2, + AreaID = 0, + CityOrCountyId = 0, + MakerId = "Koike002", + TerminalId = "Koike002", + TerminalModel = "Koike002" + })); + //2.终端鉴权 + client1.Send(JT808MsgId.终端鉴权.Create2019(sim, new JT808_0x0102() + { + Code = "6666", + IMEI="123456", + SoftwareVersion="v1.0.0" + })); + Task.Run(() => { + while (true) + { + var i = 0; + //3.每5秒发一次 + client1.Send(JT808MsgId.位置信息汇报.Create2019(sim, new JT808_0x0200() + { + Lat = 110000 + i, + Lng = 100000 + i, + GPSTime = DateTime.Now, + Speed = 50, + Direction = 30, + AlarmFlag = 5, + Altitude = 50, + StatusFlag = 10 + })); + i++; + Thread.Sleep(5000); + } + }); + return Task.CompletedTask; + } + + public Task StopAsync(CancellationToken cancellationToken) + { + return Task.CompletedTask; + } + } +} diff --git a/simples/JT808.DotNetty.SimpleClient/Services/UpService.cs b/simples/JT808.DotNetty.SimpleClient/Services/UpService.cs index 01b123b..c7ff718 100644 --- a/simples/JT808.DotNetty.SimpleClient/Services/UpService.cs +++ b/simples/JT808.DotNetty.SimpleClient/Services/UpService.cs @@ -1,5 +1,7 @@ using JT808.DotNetty.Client; using JT808.Protocol.MessageBody; +using JT808.Protocol.Enums; +using JT808.Protocol.Extensions; using Microsoft.Extensions.Hosting; using System; using System.Collections.Generic; @@ -20,9 +22,10 @@ namespace JT808.DotNetty.SimpleClient.Services public Task StartAsync(CancellationToken cancellationToken) { - JT808TcpClient client1 = jT808TcpClientFactory.Create(new JT808DeviceConfig("12345678910", "127.0.0.1", 808)); + string sim = "11111111111"; + JT808TcpClient client1 = jT808TcpClientFactory.Create(new JT808DeviceConfig(sim, "127.0.0.1", 808)); //1.终端注册 - client1.Send(new JT808_0x0100() + client1.Send(JT808MsgId.终端注册.Create(sim, new JT808_0x0100() { PlateNo = "粤A12345", PlateColor = 2, @@ -31,18 +34,18 @@ namespace JT808.DotNetty.SimpleClient.Services MakerId = "Koike001", TerminalId = "Koike001", TerminalModel = "Koike001" - }); + })); //2.终端鉴权 - client1.Send(new JT808_0x0102() + client1.Send(JT808MsgId.终端鉴权.Create(sim, new JT808_0x0102() { Code = "1234" - }); + })); Task.Run(() => { while (true) { var i = 0; - //3.每5000秒发一次 - client1.Send(new JT808_0x0200() + //3.每5秒发一次 + client1.Send(JT808MsgId.位置信息汇报.Create(sim, new JT808_0x0200() { Lat = 110000 + i, Lng = 100000 + i, @@ -52,7 +55,7 @@ namespace JT808.DotNetty.SimpleClient.Services AlarmFlag = 5, Altitude = 50, StatusFlag = 10 - }); + })); i++; Thread.Sleep(5000); } diff --git a/simples/JT808.DotNetty.SimpleServer/JT808.DotNetty.SimpleServer.csproj b/simples/JT808.DotNetty.SimpleServer/JT808.DotNetty.SimpleServer.csproj index 957e378..ac4d5c7 100644 --- a/simples/JT808.DotNetty.SimpleServer/JT808.DotNetty.SimpleServer.csproj +++ b/simples/JT808.DotNetty.SimpleServer/JT808.DotNetty.SimpleServer.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp3.0 + netcoreapp3.1 7.3 @@ -10,10 +10,10 @@ - - - - + + + + diff --git a/src/JT808.DotNetty.Abstractions/JT808.DotNetty.Abstractions.csproj b/src/JT808.DotNetty.Abstractions/JT808.DotNetty.Abstractions.csproj index e345a04..bed7d8f 100644 --- a/src/JT808.DotNetty.Abstractions/JT808.DotNetty.Abstractions.csproj +++ b/src/JT808.DotNetty.Abstractions/JT808.DotNetty.Abstractions.csproj @@ -20,7 +20,7 @@ 基于DotNetty实现的JT808DotNetty的抽象库 - + diff --git a/src/JT808.DotNetty.CleintBenchmark/JT808.DotNetty.CleintBenchmark.csproj b/src/JT808.DotNetty.CleintBenchmark/JT808.DotNetty.CleintBenchmark.csproj index 74f2ebe..8983666 100644 --- a/src/JT808.DotNetty.CleintBenchmark/JT808.DotNetty.CleintBenchmark.csproj +++ b/src/JT808.DotNetty.CleintBenchmark/JT808.DotNetty.CleintBenchmark.csproj @@ -7,10 +7,10 @@ - - - - + + + + diff --git a/src/JT808.DotNetty.CleintBenchmark/Services/CleintBenchmarkHostedService.cs b/src/JT808.DotNetty.CleintBenchmark/Services/CleintBenchmarkHostedService.cs index 7644dc7..a4811df 100644 --- a/src/JT808.DotNetty.CleintBenchmark/Services/CleintBenchmarkHostedService.cs +++ b/src/JT808.DotNetty.CleintBenchmark/Services/CleintBenchmarkHostedService.cs @@ -1,5 +1,7 @@ using JT808.DotNetty.CleintBenchmark.Configs; using JT808.DotNetty.Client; +using JT808.Protocol.Enums; +using JT808.Protocol.Extensions; using JT808.Protocol.MessageBody; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; @@ -54,7 +56,7 @@ namespace JT808.DotNetty.CleintBenchmark.Services int Lng = new Random(1000).Next(100000, 180000); while (!cts.IsCancellationRequested) { - client.Send(new JT808_0x0200() + client.Send(JT808MsgId.位置信息汇报.Create(client.DeviceConfig.TerminalPhoneNo,new JT808_0x0200() { Lat = lat, Lng = Lng, @@ -64,7 +66,7 @@ namespace JT808.DotNetty.CleintBenchmark.Services AlarmFlag = 5, Altitude = 50, StatusFlag = 10 - }); + })); Thread.Sleep(clientBenchmarkOptions.Interval); } }, i,cts.Token); diff --git a/src/JT808.DotNetty.Client/Codecs/JT808ClientTcpEncoder.cs b/src/JT808.DotNetty.Client/Codecs/JT808ClientTcpEncoder.cs index 741d2f9..0d78878 100644 --- a/src/JT808.DotNetty.Client/Codecs/JT808ClientTcpEncoder.cs +++ b/src/JT808.DotNetty.Client/Codecs/JT808ClientTcpEncoder.cs @@ -1,12 +1,10 @@ using DotNetty.Buffers; using DotNetty.Codecs; -using System.Collections.Generic; using JT808.Protocol; using DotNetty.Transport.Channels; using Microsoft.Extensions.Logging; using JT808.DotNetty.Client.Metadata; using JT808.DotNetty.Client.Services; -using JT808.Protocol.Interfaces; namespace JT808.DotNetty.Client.Codecs { @@ -31,7 +29,7 @@ namespace JT808.DotNetty.Client.Codecs { try { - var sendData = JT808Serializer.Serialize(message.Package, message.MinBufferSize); + var sendData = JT808Serializer.Serialize(message.Package, minBufferSize:message.MinBufferSize); output.WriteBytes(sendData); jT808SendAtomicCounterService.MsgSuccessIncrement(); } diff --git a/src/JT808.DotNetty.Client/Handlers/JT808TcpClientConnectionHandler.cs b/src/JT808.DotNetty.Client/Handlers/JT808TcpClientConnectionHandler.cs index e495ffc..cde4d6d 100644 --- a/src/JT808.DotNetty.Client/Handlers/JT808TcpClientConnectionHandler.cs +++ b/src/JT808.DotNetty.Client/Handlers/JT808TcpClientConnectionHandler.cs @@ -1,5 +1,7 @@ using DotNetty.Handlers.Timeout; using DotNetty.Transport.Channels; +using JT808.Protocol.Enums; +using JT808.Protocol.Extensions; using JT808.Protocol.MessageBody; using Microsoft.Extensions.Logging; using System; @@ -77,7 +79,14 @@ namespace JT808.DotNetty.Client.Handlers { string channelId = context.Channel.Id.AsShortText(); logger.LogInformation($"{idleStateEvent.State.ToString()}>>>{channelId}"); - jT808TcpClient.Send(new JT808_0x0002()); + if(jT808TcpClient.DeviceConfig.Version== JT808Version.JTT2019) + { + jT808TcpClient.Send(JT808MsgId.终端心跳.Create2019(jT808TcpClient.DeviceConfig.TerminalPhoneNo,new JT808_0x0002())); + } + else + { + jT808TcpClient.Send(JT808MsgId.终端心跳.Create(jT808TcpClient.DeviceConfig.TerminalPhoneNo, new JT808_0x0002())); + } } } base.UserEventTriggered(context, evt); @@ -87,7 +96,6 @@ namespace JT808.DotNetty.Client.Handlers { string channelId = context.Channel.Id.AsShortText(); logger.LogError(exception,$"{channelId} {exception.Message}" ); - context.CloseAsync(); } } diff --git a/src/JT808.DotNetty.Client/JT808.DotNetty.Client.csproj b/src/JT808.DotNetty.Client/JT808.DotNetty.Client.csproj index 6d68cc9..9f870a8 100644 --- a/src/JT808.DotNetty.Client/JT808.DotNetty.Client.csproj +++ b/src/JT808.DotNetty.Client/JT808.DotNetty.Client.csproj @@ -24,11 +24,11 @@ - - - - - + + + + + diff --git a/src/JT808.DotNetty.Client/JT808DeviceConfig.cs b/src/JT808.DotNetty.Client/JT808DeviceConfig.cs index 1282d7f..1fc2530 100644 --- a/src/JT808.DotNetty.Client/JT808DeviceConfig.cs +++ b/src/JT808.DotNetty.Client/JT808DeviceConfig.cs @@ -1,4 +1,5 @@ using JT808.Protocol; +using JT808.Protocol.Enums; using JT808.Protocol.Interfaces; using System; using System.Collections.Generic; @@ -8,13 +9,15 @@ namespace JT808.DotNetty.Client { public class JT808DeviceConfig { - public JT808DeviceConfig(string terminalPhoneNo, string tcpHost,int tcpPort) + public JT808DeviceConfig(string terminalPhoneNo, string tcpHost,int tcpPort, JT808Version version= JT808Version.JTT2013) { TerminalPhoneNo = terminalPhoneNo; TcpHost = tcpHost; TcpPort = tcpPort; MsgSNDistributed = new JT808ClientMsgSNDistributedImpl(); + Version = version; } + public JT808Version Version { get; private set; } public string TerminalPhoneNo { get; private set; } public string TcpHost { get; private set; } public int TcpPort { get; private set; } diff --git a/src/JT808.DotNetty.Client/JT808TcpClientExtensions.cs b/src/JT808.DotNetty.Client/JT808TcpClientExtensions.cs index 3f886a0..97e266d 100644 --- a/src/JT808.DotNetty.Client/JT808TcpClientExtensions.cs +++ b/src/JT808.DotNetty.Client/JT808TcpClientExtensions.cs @@ -11,93 +11,13 @@ namespace JT808.DotNetty.Client { public static class JT808TcpClientExtensions { - public static void Send(this JT808TcpClient client, JT808Header header, JT808Bodies bodies, int minBufferSize = 1024) + public static void Send(this JT808TcpClient client, JT808Package package, int minBufferSize = 4096) { - JT808Package package = new JT808Package(); - package.Header = header; - package.Bodies = bodies; package.Header.TerminalPhoneNo = client.DeviceConfig.TerminalPhoneNo; package.Header.MsgNum = client.DeviceConfig.MsgSNDistributed.Increment(); JT808ClientRequest request = new JT808ClientRequest(package, minBufferSize); client.Send(request); } - - /// - /// 终端通用应答 - /// - /// - /// - /// - public static void Send(this JT808TcpClient client, JT808_0x0001 bodies, int minBufferSize = 100) - { - JT808Header header = new JT808Header(); - header.MsgId = JT808MsgId.终端通用应答.ToUInt16Value(); - client.Send(header, bodies, minBufferSize); - } - - /// - /// 终端心跳 - /// - /// - /// - /// - public static void Send(this JT808TcpClient client, JT808_0x0002 bodies, int minBufferSize = 100) - { - JT808Header header = new JT808Header(); - header.MsgId = JT808MsgId.终端心跳.ToUInt16Value(); - client.Send(header, bodies, minBufferSize); - } - - /// - /// 终端注销 - /// - /// - /// - /// - public static void Send(this JT808TcpClient client, JT808_0x0003 bodies, int minBufferSize = 100) - { - JT808Header header = new JT808Header(); - header.MsgId = JT808MsgId.终端注销.ToUInt16Value(); - client.Send(header, bodies, minBufferSize); - } - - /// - /// 终端鉴权 - /// - /// - /// - /// - public static void Send(this JT808TcpClient client, JT808_0x0102 bodies, int minBufferSize = 100) - { - JT808Header header = new JT808Header(); - header.MsgId = JT808MsgId.终端鉴权.ToUInt16Value(); - client.Send(header, bodies, minBufferSize); - } - - /// - /// 终端注册 - /// - /// - /// - /// - public static void Send(this JT808TcpClient client, JT808_0x0100 bodies, int minBufferSize = 100) - { - JT808Header header = new JT808Header(); - header.MsgId = JT808MsgId.终端注册.ToUInt16Value(); - client.Send(header, bodies, minBufferSize); - } - - /// - /// 位置信息汇报 - /// - /// - /// - /// - public static void Send(this JT808TcpClient client, JT808_0x0200 bodies, int minBufferSize = 200) - { - JT808Header header = new JT808Header(); - header.MsgId = JT808MsgId.位置信息汇报.ToUInt16Value(); - client.Send(header, bodies, minBufferSize); - } } + } diff --git a/src/JT808.DotNetty.Core/Codecs/JT808TcpEncoder.cs b/src/JT808.DotNetty.Core/Codecs/JT808TcpEncoder.cs index 5cde441..634b3be 100644 --- a/src/JT808.DotNetty.Core/Codecs/JT808TcpEncoder.cs +++ b/src/JT808.DotNetty.Core/Codecs/JT808TcpEncoder.cs @@ -31,7 +31,7 @@ namespace JT808.DotNetty.Core.Codecs { try { - var sendData = JT808Serializer.Serialize(message.Package, message.MinBufferSize); + var sendData = JT808Serializer.Serialize(message.Package, minBufferSize: message.MinBufferSize); output.WriteBytes(Unpooled.WrappedBuffer(sendData)); } catch (JT808.Protocol.Exceptions.JT808Exception ex) diff --git a/src/JT808.DotNetty.Core/Impls/JT808MsgReplyConsumerDefaultImpl.cs b/src/JT808.DotNetty.Core/Impls/JT808MsgReplyConsumerDefaultImpl.cs index b99fa7e..887a6d6 100644 --- a/src/JT808.DotNetty.Core/Impls/JT808MsgReplyConsumerDefaultImpl.cs +++ b/src/JT808.DotNetty.Core/Impls/JT808MsgReplyConsumerDefaultImpl.cs @@ -15,15 +15,19 @@ namespace JT808.DotNetty.Core.Impls internal class JT808MsgReplyConsumerDefaultImpl : IJT808MsgReplyConsumer { private readonly JT808MsgService JT808MsgService; + private readonly JT808Serializer JT808Serializer; - private Dictionary> HandlerDict; + + private Dictionary HandlerDict; + + private delegate byte[] MsgIdMethodDelegate(JT808HeaderPackage package); public JT808MsgReplyConsumerDefaultImpl( IJT808Config jT808Config, JT808MsgService jT808MsgService) { JT808MsgService = jT808MsgService; this.JT808Serializer = jT808Config.GetSerializer(); - HandlerDict = new Dictionary> { + HandlerDict = new Dictionary { {JT808MsgId.终端通用应答.ToUInt16Value(), Msg0x0001}, {JT808MsgId.终端鉴权.ToUInt16Value(), Msg0x0102}, {JT808MsgId.终端心跳.ToUInt16Value(), Msg0x0002}, @@ -97,12 +101,24 @@ namespace JT808.DotNetty.Core.Impls /// public byte[] Msg0x0002(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if(request.Version== JT808Version.JTT2019) { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 终端注销 @@ -111,12 +127,24 @@ namespace JT808.DotNetty.Core.Impls /// public byte[] Msg0x0003(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 终端注册 @@ -125,12 +153,24 @@ namespace JT808.DotNetty.Core.Impls /// public byte[] Msg0x0100(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8100() + if (request.Version == JT808Version.JTT2019) { - Code = "J" + request.Header.TerminalPhoneNo, - JT808TerminalRegisterResult = JT808TerminalRegisterResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create_终端注册应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8100() + { + Code = "J" + request.Header.TerminalPhoneNo, + JT808TerminalRegisterResult = JT808TerminalRegisterResult.成功, + AckMsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8100() + { + Code = "J" + request.Header.TerminalPhoneNo, + JT808TerminalRegisterResult = JT808TerminalRegisterResult.成功, + AckMsgNum = request.Header.MsgNum + })); + } } /// /// 终端鉴权 @@ -139,12 +179,24 @@ namespace JT808.DotNetty.Core.Impls /// public byte[] Msg0x0102(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 位置信息汇报 @@ -153,12 +205,24 @@ namespace JT808.DotNetty.Core.Impls /// public byte[] Msg0x0200(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 定位数据批量上传 @@ -167,12 +231,24 @@ namespace JT808.DotNetty.Core.Impls /// public byte[] Msg0x0704(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 数据上行透传 @@ -181,12 +257,24 @@ namespace JT808.DotNetty.Core.Impls /// public byte[] Msg0x0900(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } } } diff --git a/src/JT808.DotNetty.Core/JT808.DotNetty.Core.csproj b/src/JT808.DotNetty.Core/JT808.DotNetty.Core.csproj index 6abd39f..5434585 100644 --- a/src/JT808.DotNetty.Core/JT808.DotNetty.Core.csproj +++ b/src/JT808.DotNetty.Core/JT808.DotNetty.Core.csproj @@ -25,10 +25,10 @@ - - - - + + + + diff --git a/src/JT808.DotNetty.Core/Metadata/JT808Request.cs b/src/JT808.DotNetty.Core/Metadata/JT808Request.cs deleted file mode 100644 index 84aa29e..0000000 --- a/src/JT808.DotNetty.Core/Metadata/JT808Request.cs +++ /dev/null @@ -1,23 +0,0 @@ -using JT808.Protocol; -using System; -using System.Collections.Generic; -using System.Reflection; - -namespace JT808.DotNetty.Core.Metadata -{ - public class JT808Request - { - public JT808HeaderPackage Package { get; } - - /// - /// 用于消息发送 - /// - public byte[] OriginalPackage { get;} - - public JT808Request(JT808HeaderPackage package, byte[] originalPackage) - { - Package = package; - OriginalPackage = originalPackage; - } - } -} \ No newline at end of file diff --git a/src/JT808.DotNetty.Core/Metadata/JT808Response.cs b/src/JT808.DotNetty.Core/Metadata/JT808Response.cs deleted file mode 100644 index ef75f3c..0000000 --- a/src/JT808.DotNetty.Core/Metadata/JT808Response.cs +++ /dev/null @@ -1,31 +0,0 @@ -using JT808.DotNetty.Core.Interfaces; -using JT808.Protocol; -using System; -using System.Collections.Generic; -using System.Reflection; - -namespace JT808.DotNetty.Core.Metadata -{ - public class JT808Response: IJT808Reply - { - public JT808Package Package { get; set; } - public byte[] HexData { get; set; } - public int MinBufferSize { get; set; } - - public JT808Response() - { - - } - - public JT808Response(JT808Package package, int minBufferSize = 1024) - { - Package = package; - MinBufferSize = minBufferSize; - } - - public JT808Response(byte[] hexData) - { - HexData = hexData; - } - } -} \ No newline at end of file diff --git a/src/JT808.DotNetty.Kafka/JT808.DotNetty.Kafka.csproj b/src/JT808.DotNetty.Kafka/JT808.DotNetty.Kafka.csproj index ed7abdb..88d5739 100644 --- a/src/JT808.DotNetty.Kafka/JT808.DotNetty.Kafka.csproj +++ b/src/JT808.DotNetty.Kafka/JT808.DotNetty.Kafka.csproj @@ -20,12 +20,12 @@ 基于Kafka的JT808消息发布与订阅 - - - - - - + + + + + + diff --git a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.MsgIdHandler.Test/JT808.DotNetty.MsgIdHandler.Test.csproj b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.MsgIdHandler.Test/JT808.DotNetty.MsgIdHandler.Test.csproj index e1bb8b0..9d8205f 100644 --- a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.MsgIdHandler.Test/JT808.DotNetty.MsgIdHandler.Test.csproj +++ b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.MsgIdHandler.Test/JT808.DotNetty.MsgIdHandler.Test.csproj @@ -2,13 +2,13 @@ Exe - netcoreapp3.0 + netcoreapp3.1 - - - + + + diff --git a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.MsgLogging.Test/JT808.DotNetty.MsgLogging.Test.csproj b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.MsgLogging.Test/JT808.DotNetty.MsgLogging.Test.csproj index 674808c..974be70 100644 --- a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.MsgLogging.Test/JT808.DotNetty.MsgLogging.Test.csproj +++ b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.MsgLogging.Test/JT808.DotNetty.MsgLogging.Test.csproj @@ -2,13 +2,13 @@ Exe - netcoreapp3.0 + netcoreapp3.1 - - - + + + diff --git a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.ReplyMessage.Test/JT808.DotNetty.ReplyMessage.Test.csproj b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.ReplyMessage.Test/JT808.DotNetty.ReplyMessage.Test.csproj index bbb9897..92ddb70 100644 --- a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.ReplyMessage.Test/JT808.DotNetty.ReplyMessage.Test.csproj +++ b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.ReplyMessage.Test/JT808.DotNetty.ReplyMessage.Test.csproj @@ -2,13 +2,13 @@ Exe - netcoreapp3.0 + netcoreapp3.1 - - - + + + diff --git a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.SessionNotice.Test/JT808.DotNetty.SessionNotice.Test.csproj b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.SessionNotice.Test/JT808.DotNetty.SessionNotice.Test.csproj index 502a073..aadc288 100644 --- a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.SessionNotice.Test/JT808.DotNetty.SessionNotice.Test.csproj +++ b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.SessionNotice.Test/JT808.DotNetty.SessionNotice.Test.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp3.0 + netcoreapp3.1 diff --git a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.Traffic.Test/JT808.DotNetty.Traffic.Test.csproj b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.Traffic.Test/JT808.DotNetty.Traffic.Test.csproj index 5a4160e..b79ab93 100644 --- a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.Traffic.Test/JT808.DotNetty.Traffic.Test.csproj +++ b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.Traffic.Test/JT808.DotNetty.Traffic.Test.csproj @@ -2,13 +2,13 @@ Exe - netcoreapp3.0 + netcoreapp3.1 - - - + + + diff --git a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.Transmit.Test/JT808.DotNetty.Transmit.Test.csproj b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.Transmit.Test/JT808.DotNetty.Transmit.Test.csproj index 285c128..800da01 100644 --- a/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.Transmit.Test/JT808.DotNetty.Transmit.Test.csproj +++ b/src/JT808.DotNetty.Services.Tests/JT808.DotNetty.Transmit.Test/JT808.DotNetty.Transmit.Test.csproj @@ -2,13 +2,13 @@ Exe - netcoreapp3.0 + netcoreapp3.1 - - - + + + diff --git a/src/JT808.DotNetty.Services/JT808.DotNetty.MsgIdHandler/JT808.DotNetty.MsgIdHandler.csproj b/src/JT808.DotNetty.Services/JT808.DotNetty.MsgIdHandler/JT808.DotNetty.MsgIdHandler.csproj index 5dc7827..395ef6c 100644 --- a/src/JT808.DotNetty.Services/JT808.DotNetty.MsgIdHandler/JT808.DotNetty.MsgIdHandler.csproj +++ b/src/JT808.DotNetty.Services/JT808.DotNetty.MsgIdHandler/JT808.DotNetty.MsgIdHandler.csproj @@ -23,7 +23,7 @@ - + diff --git a/src/JT808.DotNetty.Services/JT808.DotNetty.MsgLogging/JT808.DotNetty.MsgLogging.csproj b/src/JT808.DotNetty.Services/JT808.DotNetty.MsgLogging/JT808.DotNetty.MsgLogging.csproj index f32b7ae..9710260 100644 --- a/src/JT808.DotNetty.Services/JT808.DotNetty.MsgLogging/JT808.DotNetty.MsgLogging.csproj +++ b/src/JT808.DotNetty.Services/JT808.DotNetty.MsgLogging/JT808.DotNetty.MsgLogging.csproj @@ -22,9 +22,9 @@ LICENSE - - - + + + diff --git a/src/JT808.DotNetty.Services/JT808.DotNetty.ReplyMessage/JT808.DotNetty.ReplyMessage.csproj b/src/JT808.DotNetty.Services/JT808.DotNetty.ReplyMessage/JT808.DotNetty.ReplyMessage.csproj index ad69ed2..27ab52d 100644 --- a/src/JT808.DotNetty.Services/JT808.DotNetty.ReplyMessage/JT808.DotNetty.ReplyMessage.csproj +++ b/src/JT808.DotNetty.Services/JT808.DotNetty.ReplyMessage/JT808.DotNetty.ReplyMessage.csproj @@ -21,9 +21,9 @@ LICENSE - - - + + + diff --git a/src/JT808.DotNetty.Services/JT808.DotNetty.ReplyMessage/JT808DotNettyReplyMessageService.cs b/src/JT808.DotNetty.Services/JT808.DotNetty.ReplyMessage/JT808DotNettyReplyMessageService.cs index 66975ad..df281f8 100644 --- a/src/JT808.DotNetty.Services/JT808.DotNetty.ReplyMessage/JT808DotNettyReplyMessageService.cs +++ b/src/JT808.DotNetty.Services/JT808.DotNetty.ReplyMessage/JT808DotNettyReplyMessageService.cs @@ -11,8 +11,9 @@ namespace JT808.DotNetty.ReplyMessage { public class JT808DotNettyReplyMessageService { - protected Dictionary> HandlerDict { get; } + protected Dictionary HandlerDict { get; } + protected delegate byte[] MsgIdMethodDelegate(JT808HeaderPackage package); protected JT808Serializer JT808Serializer { get; } protected IJT808MsgReplyProducer JT808MsgReplyProducer { get; } public JT808DotNettyReplyMessageService( @@ -21,7 +22,7 @@ namespace JT808.DotNetty.ReplyMessage { this.JT808Serializer = jT808Config.GetSerializer(); this.JT808MsgReplyProducer = jT808MsgReplyProducer; - HandlerDict = new Dictionary> { + HandlerDict = new Dictionary { {JT808MsgId.终端通用应答.ToUInt16Value(), Msg0x0001}, {JT808MsgId.终端鉴权.ToUInt16Value(), Msg0x0102}, {JT808MsgId.终端心跳.ToUInt16Value(), Msg0x0002}, @@ -59,7 +60,7 @@ namespace JT808.DotNetty.ReplyMessage /// /// /// - public virtual byte[] Msg0x0001(JT808HeaderPackage request) + public byte[] Msg0x0001(JT808HeaderPackage request) { return null; } @@ -68,98 +69,182 @@ namespace JT808.DotNetty.ReplyMessage /// /// /// - public virtual byte[] Msg0x0002(JT808HeaderPackage request) + public byte[] Msg0x0002(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 终端注销 /// /// /// - public virtual byte[] Msg0x0003(JT808HeaderPackage request) + public byte[] Msg0x0003(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 终端注册 /// /// /// - public virtual byte[] Msg0x0100(JT808HeaderPackage request) + public byte[] Msg0x0100(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8100() + if (request.Version == JT808Version.JTT2019) { - Code = "J" + request.Header.TerminalPhoneNo, - JT808TerminalRegisterResult = JT808TerminalRegisterResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create_终端注册应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8100() + { + Code = "J" + request.Header.TerminalPhoneNo, + JT808TerminalRegisterResult = JT808TerminalRegisterResult.成功, + AckMsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8100() + { + Code = "J" + request.Header.TerminalPhoneNo, + JT808TerminalRegisterResult = JT808TerminalRegisterResult.成功, + AckMsgNum = request.Header.MsgNum + })); + } } /// /// 终端鉴权 /// /// /// - public virtual byte[] Msg0x0102(JT808HeaderPackage request) + public byte[] Msg0x0102(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 位置信息汇报 /// /// /// - public virtual byte[] Msg0x0200(JT808HeaderPackage request) + public byte[] Msg0x0200(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 定位数据批量上传 /// /// /// - public virtual byte[] Msg0x0704(JT808HeaderPackage request) + public byte[] Msg0x0704(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } /// /// 数据上行透传 /// /// /// - public virtual byte[] Msg0x0900(JT808HeaderPackage request) + public byte[] Msg0x0900(JT808HeaderPackage request) { - return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + if (request.Version == JT808Version.JTT2019) + { + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } + else { - MsgId = request.Header.MsgId, - JT808PlatformResult = JT808PlatformResult.成功, - MsgNum = request.Header.MsgNum - })); + return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001() + { + AckMsgId = request.Header.MsgId, + JT808PlatformResult = JT808PlatformResult.成功, + MsgNum = request.Header.MsgNum + })); + } } } } diff --git a/src/JT808.DotNetty.Services/JT808.DotNetty.SessionNotice/JT808.DotNetty.SessionNotice.csproj b/src/JT808.DotNetty.Services/JT808.DotNetty.SessionNotice/JT808.DotNetty.SessionNotice.csproj index a07d6f1..28ef6f5 100644 --- a/src/JT808.DotNetty.Services/JT808.DotNetty.SessionNotice/JT808.DotNetty.SessionNotice.csproj +++ b/src/JT808.DotNetty.Services/JT808.DotNetty.SessionNotice/JT808.DotNetty.SessionNotice.csproj @@ -22,9 +22,9 @@ LICENSE - - - + + + diff --git a/src/JT808.DotNetty.Services/JT808.DotNetty.Traffic/JT808.DotNetty.Traffic.csproj b/src/JT808.DotNetty.Services/JT808.DotNetty.Traffic/JT808.DotNetty.Traffic.csproj index 5119ab1..90acf2a 100644 --- a/src/JT808.DotNetty.Services/JT808.DotNetty.Traffic/JT808.DotNetty.Traffic.csproj +++ b/src/JT808.DotNetty.Services/JT808.DotNetty.Traffic/JT808.DotNetty.Traffic.csproj @@ -21,10 +21,10 @@ LICENSE - - - - + + + + diff --git a/src/JT808.DotNetty.Services/JT808.DotNetty.Transmit/JT808.DotNetty.Transmit.csproj b/src/JT808.DotNetty.Services/JT808.DotNetty.Transmit/JT808.DotNetty.Transmit.csproj index 14f3a8b..ea0e41c 100644 --- a/src/JT808.DotNetty.Services/JT808.DotNetty.Transmit/JT808.DotNetty.Transmit.csproj +++ b/src/JT808.DotNetty.Services/JT808.DotNetty.Transmit/JT808.DotNetty.Transmit.csproj @@ -25,10 +25,10 @@ - - - - + + + + diff --git a/src/JT808.DotNetty.Tcp/Handlers/JT808TcpServerHandler.cs b/src/JT808.DotNetty.Tcp/Handlers/JT808TcpServerHandler.cs index c65a5cf..db2aba4 100644 --- a/src/JT808.DotNetty.Tcp/Handlers/JT808TcpServerHandler.cs +++ b/src/JT808.DotNetty.Tcp/Handlers/JT808TcpServerHandler.cs @@ -47,7 +47,7 @@ namespace JT808.DotNetty.Tcp.Handlers //解析到头部,然后根据具体的消息Id通过队列去进行消费 //要是一定要解析到数据体可以在JT808MsgIdHandlerBase类中根据具体的消息, //解析具体的消息体,具体调用JT808Serializer.Deserialize - JT808HeaderPackage jT808HeaderPackage = JT808Serializer.Deserialize(msg); + JT808HeaderPackage jT808HeaderPackage = JT808Serializer.HeaderDeserialize(msg); if (logger.IsEnabled(LogLevel.Trace)) { logger.LogTrace($"accept package success count=>{jT808AtomicCounterService.MsgSuccessCount.ToString()},accept msg=>{ByteBufferUtil.HexDump(msg)}"); diff --git a/src/JT808.DotNetty.Tcp/JT808.DotNetty.Tcp.csproj b/src/JT808.DotNetty.Tcp/JT808.DotNetty.Tcp.csproj index ecb6deb..678326a 100644 --- a/src/JT808.DotNetty.Tcp/JT808.DotNetty.Tcp.csproj +++ b/src/JT808.DotNetty.Tcp/JT808.DotNetty.Tcp.csproj @@ -19,14 +19,6 @@ 基于DotNetty实现的JT808DotNetty的Tcp服务 基于DotNetty实现的JT808DotNetty的Tcp服务 - - - - - - - - diff --git a/src/JT808.DotNetty.Tests/JT808.DotNetty.Core.Test/JT808.DotNetty.Core.Test.csproj b/src/JT808.DotNetty.Tests/JT808.DotNetty.Core.Test/JT808.DotNetty.Core.Test.csproj index 3bbb909..7be504d 100644 --- a/src/JT808.DotNetty.Tests/JT808.DotNetty.Core.Test/JT808.DotNetty.Core.Test.csproj +++ b/src/JT808.DotNetty.Tests/JT808.DotNetty.Core.Test/JT808.DotNetty.Core.Test.csproj @@ -1,19 +1,25 @@  - netcoreapp3.0 + netcoreapp3.1 false - - - - - - - + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/src/JT808.DotNetty.Tests/JT808.DotNetty.Hosting/JT808.DotNetty.Hosting.csproj b/src/JT808.DotNetty.Tests/JT808.DotNetty.Hosting/JT808.DotNetty.Hosting.csproj index 7191ebf..263522e 100644 --- a/src/JT808.DotNetty.Tests/JT808.DotNetty.Hosting/JT808.DotNetty.Hosting.csproj +++ b/src/JT808.DotNetty.Tests/JT808.DotNetty.Hosting/JT808.DotNetty.Hosting.csproj @@ -8,13 +8,13 @@ - - - - - - - + + + + + + + diff --git a/src/JT808.DotNetty.Tests/JT808.DotNetty.Kafka.Test/JT808.DotNetty.Kafka.Test.csproj b/src/JT808.DotNetty.Tests/JT808.DotNetty.Kafka.Test/JT808.DotNetty.Kafka.Test.csproj index 8c3fbb1..34b7eda 100644 --- a/src/JT808.DotNetty.Tests/JT808.DotNetty.Kafka.Test/JT808.DotNetty.Kafka.Test.csproj +++ b/src/JT808.DotNetty.Tests/JT808.DotNetty.Kafka.Test/JT808.DotNetty.Kafka.Test.csproj @@ -1,17 +1,17 @@  - netcoreapp3.0 + netcoreapp3.1 false - - - - - + + + + + all diff --git a/src/JT808.DotNetty.Tests/JT808.DotNetty.RabbitMQ.Test/JT808.DotNetty.RabbitMQ.Test.csproj b/src/JT808.DotNetty.Tests/JT808.DotNetty.RabbitMQ.Test/JT808.DotNetty.RabbitMQ.Test.csproj index e905353..4a5ff02 100644 --- a/src/JT808.DotNetty.Tests/JT808.DotNetty.RabbitMQ.Test/JT808.DotNetty.RabbitMQ.Test.csproj +++ b/src/JT808.DotNetty.Tests/JT808.DotNetty.RabbitMQ.Test/JT808.DotNetty.RabbitMQ.Test.csproj @@ -1,15 +1,15 @@  - netcoreapp3.0 + netcoreapp3.1 false - - - + + + diff --git a/src/JT808.DotNetty.Tests/JT808.DotNetty.Tcp.Test/JT808.DotNetty.Tcp.Test.csproj b/src/JT808.DotNetty.Tests/JT808.DotNetty.Tcp.Test/JT808.DotNetty.Tcp.Test.csproj index b879563..380ffcf 100644 --- a/src/JT808.DotNetty.Tests/JT808.DotNetty.Tcp.Test/JT808.DotNetty.Tcp.Test.csproj +++ b/src/JT808.DotNetty.Tests/JT808.DotNetty.Tcp.Test/JT808.DotNetty.Tcp.Test.csproj @@ -1,19 +1,25 @@  - netcoreapp3.0 + netcoreapp3.1 false - - - - - - - + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/src/JT808.DotNetty.Tests/JT808.DotNetty.Udp.Test/JT808.DotNetty.Udp.Test.csproj b/src/JT808.DotNetty.Tests/JT808.DotNetty.Udp.Test/JT808.DotNetty.Udp.Test.csproj index f88b18c..d5a65c8 100644 --- a/src/JT808.DotNetty.Tests/JT808.DotNetty.Udp.Test/JT808.DotNetty.Udp.Test.csproj +++ b/src/JT808.DotNetty.Tests/JT808.DotNetty.Udp.Test/JT808.DotNetty.Udp.Test.csproj @@ -1,19 +1,25 @@  - netcoreapp3.0 + netcoreapp3.1 false - - - - - - - + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/src/JT808.DotNetty.Tests/JT808.DotNetty.WebApi.Test/JT808.DotNetty.WebApi.Test.csproj b/src/JT808.DotNetty.Tests/JT808.DotNetty.WebApi.Test/JT808.DotNetty.WebApi.Test.csproj index b4c0eca..d32a18f 100644 --- a/src/JT808.DotNetty.Tests/JT808.DotNetty.WebApi.Test/JT808.DotNetty.WebApi.Test.csproj +++ b/src/JT808.DotNetty.Tests/JT808.DotNetty.WebApi.Test/JT808.DotNetty.WebApi.Test.csproj @@ -1,18 +1,24 @@  - netcoreapp3.0 + netcoreapp3.1 false - - - - - - + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/src/JT808.DotNetty.Udp/Handlers/JT808UdpServerHandler.cs b/src/JT808.DotNetty.Udp/Handlers/JT808UdpServerHandler.cs index e3c6471..b92932c 100644 --- a/src/JT808.DotNetty.Udp/Handlers/JT808UdpServerHandler.cs +++ b/src/JT808.DotNetty.Udp/Handlers/JT808UdpServerHandler.cs @@ -47,7 +47,7 @@ namespace JT808.DotNetty.Udp.Handlers //解析到头部,然后根据具体的消息Id通过队列去进行消费 //要是一定要解析到数据体可以在JT808MsgIdHandlerBase类中根据具体的消息, //解析具体的消息体,具体调用JT808Serializer.Deserialize - JT808HeaderPackage jT808HeaderPackage = JT808Serializer.Deserialize(msg.Buffer); + JT808HeaderPackage jT808HeaderPackage = JT808Serializer.HeaderDeserialize(msg.Buffer); if (logger.IsEnabled(LogLevel.Trace)) { logger.LogTrace($"accept package success count=>{jT808AtomicCounterService.MsgFailCount.ToString()},accept msg=>{ByteBufferUtil.HexDump(msg.Buffer)}"); diff --git a/src/JT808.DotNetty.Udp/JT808.DotNetty.Udp.csproj b/src/JT808.DotNetty.Udp/JT808.DotNetty.Udp.csproj index 512a047..7d7d263 100644 --- a/src/JT808.DotNetty.Udp/JT808.DotNetty.Udp.csproj +++ b/src/JT808.DotNetty.Udp/JT808.DotNetty.Udp.csproj @@ -20,15 +20,6 @@ 基于DotNetty实现的JT808DotNetty的Udp服务 - - - - - - - - - diff --git a/src/JT808.DotNetty.WebApi/JT808.DotNetty.WebApi.csproj b/src/JT808.DotNetty.WebApi/JT808.DotNetty.WebApi.csproj index 52f3103..32ae470 100644 --- a/src/JT808.DotNetty.WebApi/JT808.DotNetty.WebApi.csproj +++ b/src/JT808.DotNetty.WebApi/JT808.DotNetty.WebApi.csproj @@ -19,16 +19,6 @@ 基于DotNetty实现的JT808DotNetty的WebApi服务 基于DotNetty实现的JT808DotNetty的WebApi服务 - - - - - - - - - - diff --git a/src/JT808.DotNetty.WebApiClientTool/JT808.DotNetty.WebApiClientTool.csproj b/src/JT808.DotNetty.WebApiClientTool/JT808.DotNetty.WebApiClientTool.csproj index 06f0d78..28c20bd 100644 --- a/src/JT808.DotNetty.WebApiClientTool/JT808.DotNetty.WebApiClientTool.csproj +++ b/src/JT808.DotNetty.WebApiClientTool/JT808.DotNetty.WebApiClientTool.csproj @@ -24,7 +24,7 @@ - + diff --git a/src/Version.props b/src/Version.props index ad36108..3ca3866 100644 --- a/src/Version.props +++ b/src/Version.props @@ -1,5 +1,5 @@  - 2.2.2 + 2.3.0 \ No newline at end of file