Browse Source

1.删除子模块使用nuget方式引用

2.增加tcp统一出口编码器
3.修改统一的应答接口
4.修改包装udp编码器
5.修改udp端口为808
6.增加上下行数据包日志接口
7.修改webapi返回数据太多导致被截断
tags/v1.2.0
SmallChi 6 years ago
parent
commit
320b4d1934
33 changed files with 246 additions and 81 deletions
  1. +0
    -3
      .gitmodules
  2. +2
    -0
      README.md
  3. +15
    -0
      src/JT808.DotNetty.Abstractions/Enums/JT808TransportProtocolType.cs
  4. +22
    -0
      src/JT808.DotNetty.Abstractions/IJT808DownlinkPacket.cs
  5. +19
    -0
      src/JT808.DotNetty.Abstractions/IJT808UplinkPacket.cs
  6. +2
    -2
      src/JT808.DotNetty.Abstractions/JT808.DotNetty.Abstractions.csproj
  7. +3
    -6
      src/JT808.DotNetty.Client/JT808.DotNetty.Client.csproj
  8. +11
    -2
      src/JT808.DotNetty.Core/Codecs/JT808TcpEncoder.cs
  9. +1
    -1
      src/JT808.DotNetty.Core/Configurations/JT808Configuration.cs
  10. +33
    -0
      src/JT808.DotNetty.Core/Impls/JT808DatagramPacketImpl.cs
  11. +17
    -0
      src/JT808.DotNetty.Core/Impls/JT808DownlinkPacketEmptyImpl.cs
  12. +17
    -0
      src/JT808.DotNetty.Core/Impls/JT808UplinkPacketEmptyImpl.cs
  13. +13
    -0
      src/JT808.DotNetty.Core/Interfaces/IJT808DatagramPacket.cs
  14. +3
    -3
      src/JT808.DotNetty.Core/JT808.DotNetty.Core.csproj
  15. +4
    -0
      src/JT808.DotNetty.Core/JT808CoreDotnettyExtensions.cs
  16. +3
    -2
      src/JT808.DotNetty.Core/Jobs/JT808TcpAtomicCouterResetDailyJob.cs
  17. +3
    -2
      src/JT808.DotNetty.Core/Jobs/JT808TcpTrafficResetDailyJob.cs
  18. +3
    -2
      src/JT808.DotNetty.Core/Jobs/JT808UdpAtomicCouterResetDailyJob.cs
  19. +3
    -2
      src/JT808.DotNetty.Core/Jobs/JT808UdpTrafficResetDailyJob.cs
  20. +4
    -4
      src/JT808.DotNetty.Core/Services/JT808AtomicCounterServiceFactory.cs
  21. +4
    -4
      src/JT808.DotNetty.Core/Services/JT808TrafficServiceFactory.cs
  22. +4
    -5
      src/JT808.DotNetty.Core/Services/JT808UnificationUdpSendService.cs
  23. +9
    -3
      src/JT808.DotNetty.Tcp/Handlers/JT808TcpServerHandler.cs
  24. +2
    -2
      src/JT808.DotNetty.Tcp/JT808.DotNetty.Tcp.csproj
  25. +5
    -6
      src/JT808.DotNetty.Tests/JT808.DotNetty.WebApi.Test/JT808DotNettyWebApiTest.cs
  26. +25
    -6
      src/JT808.DotNetty.Udp/Handlers/JT808UdpServerHandler.cs
  27. +2
    -2
      src/JT808.DotNetty.Udp/JT808.DotNetty.Udp.csproj
  28. +3
    -0
      src/JT808.DotNetty.Udp/JT808UdpDotnettyExtensions.cs
  29. +9
    -9
      src/JT808.DotNetty.WebApi/Handlers/JT808MsgIdDefaultWebApiHandler.cs
  30. +2
    -2
      src/JT808.DotNetty.WebApi/JT808.DotNetty.WebApi.csproj
  31. +3
    -3
      src/JT808.DotNetty.WebApiClientTool/JT808.DotNetty.WebApiClientTool.csproj
  32. +0
    -9
      src/JT808.DotNetty.sln
  33. +0
    -1
      src/JT808.Protocol

+ 0
- 3
.gitmodules View File

@@ -1,3 +0,0 @@
[submodule "src/JT808.Protocol"]
path = src/JT808.Protocol
url = https://github.com/SmallChi/JT808.git

+ 2
- 0
README.md View File

@@ -43,6 +43,8 @@
|:------:|:------|:------| |:------:|:------|:------|
| IJT808SessionPublishing| 会话通知(在线/离线)| 有些超长待机的设备,不会实时保持连接,那么通过平台下发的命令是无法到达的,这时候就需要设备一上线,就即时通知服务去处理,然后在即时的下发消息到设备。| | IJT808SessionPublishing| 会话通知(在线/离线)| 有些超长待机的设备,不会实时保持连接,那么通过平台下发的命令是无法到达的,这时候就需要设备一上线,就即时通知服务去处理,然后在即时的下发消息到设备。|
| IJT808SourcePackageDispatcher| 原包分发器| 需要将源数据转给其他平台| | IJT808SourcePackageDispatcher| 原包分发器| 需要将源数据转给其他平台|
| IJT808UplinkPacket| 上行数据包处理接口| 平台需要查看网关的上行数据日志(可以配合InfluxDB使用)|
| IJT808DownlinkPacket| 下行数据包处理接口| 平台需要查看网关的下行数据日志(可以配合InfluxDB使用)|


> 只要实现IJT808SessionPublishing接口的任意一款MQ都能实现该功能。 > 只要实现IJT808SessionPublishing接口的任意一款MQ都能实现该功能。




+ 15
- 0
src/JT808.DotNetty.Abstractions/Enums/JT808TransportProtocolType.cs View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace JT808.DotNetty.Abstractions.Enums
{
/// <summary>
/// 传输协议类型
/// </summary>
public enum JT808TransportProtocolType
{
tcp=1,
udp = 2
}
}

+ 22
- 0
src/JT808.DotNetty.Abstractions/IJT808DownlinkPacket.cs View File

@@ -0,0 +1,22 @@
using JT808.DotNetty.Abstractions.Enums;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace JT808.DotNetty.Abstractions
{
/// <summary>
/// 下行数据包处理接口
/// </summary>
public interface IJT808DownlinkPacket
{
/// <summary>
///
/// </summary>
/// <param name="data">数据包</param>
/// <param name="protocolType">协议类型:tcp/udp</param>
/// <returns></returns>
Task ProcessorAsync(byte[] data, JT808TransportProtocolType transportProtocolType);
}
}

+ 19
- 0
src/JT808.DotNetty.Abstractions/IJT808UplinkPacket.cs View File

@@ -0,0 +1,19 @@
using JT808.DotNetty.Abstractions.Enums;
using System.Threading.Tasks;

namespace JT808.DotNetty.Abstractions
{
/// <summary>
/// 上行数据包处理接口
/// </summary>
public interface IJT808UplinkPacket
{
/// <summary>
///
/// </summary>
/// <param name="data">数据包</param>
/// <param name="transportProtocolType">传输协议类型</param>
/// <returns></returns>
Task ProcessorAsync(byte[] data, JT808TransportProtocolType transportProtocolType);
}
}

+ 2
- 2
src/JT808.DotNetty.Abstractions/JT808.DotNetty.Abstractions.csproj View File

@@ -12,9 +12,9 @@
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl> <RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl> <PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</PackageLicenseUrl>
<license>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</license>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>1.1.1</Version>
<Version>1.2.0</Version>
</PropertyGroup> </PropertyGroup>


</Project> </Project>

+ 3
- 6
src/JT808.DotNetty.Client/JT808.DotNetty.Client.csproj View File

@@ -12,23 +12,20 @@
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl> <RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl> <PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</PackageLicenseUrl>
<license>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</license>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>1.1.1</Version>
<Version>1.2.0</Version>
</PropertyGroup> </PropertyGroup>


<ItemGroup> <ItemGroup>
<PackageReference Include="DotNetty.Handlers" Version="0.6.0" /> <PackageReference Include="DotNetty.Handlers" Version="0.6.0" />
<PackageReference Include="DotNetty.Transport.Libuv" Version="0.6.0" /> <PackageReference Include="DotNetty.Transport.Libuv" Version="0.6.0" />
<PackageReference Include="DotNetty.Codecs" Version="0.6.0" /> <PackageReference Include="DotNetty.Codecs" Version="0.6.0" />
<PackageReference Include="JT808" Version="1.3.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="2.2.0" /> <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="Microsoft.Extensions.Options" Version="2.2.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="2.2.0" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\JT808.Protocol\src\JT808.Protocol\JT808.Protocol.csproj" />
</ItemGroup>


</Project> </Project>

+ 11
- 2
src/JT808.DotNetty.Core/Codecs/JT808TcpEncoder.cs View File

@@ -5,6 +5,8 @@ using DotNetty.Transport.Channels;
using JT808.DotNetty.Core.Interfaces; using JT808.DotNetty.Core.Interfaces;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using JT808.DotNetty.Core.Services; using JT808.DotNetty.Core.Services;
using JT808.DotNetty.Abstractions;
using JT808.DotNetty.Abstractions.Enums;


namespace JT808.DotNetty.Core.Codecs namespace JT808.DotNetty.Core.Codecs
{ {
@@ -17,10 +19,15 @@ namespace JT808.DotNetty.Core.Codecs


private readonly JT808TrafficService jT808TrafficService; private readonly JT808TrafficService jT808TrafficService;


public JT808TcpEncoder(ILoggerFactory loggerFactory, JT808TrafficServiceFactory jT808TrafficServiceFactory)
private readonly IJT808DownlinkPacket jT808DownlinkPacket;

public JT808TcpEncoder(ILoggerFactory loggerFactory,
JT808TrafficServiceFactory jT808TrafficServiceFactory,
IJT808DownlinkPacket jT808DownlinkPacket)
{ {
logger = loggerFactory.CreateLogger<JT808TcpEncoder>(); logger = loggerFactory.CreateLogger<JT808TcpEncoder>();
this.jT808TrafficService = jT808TrafficServiceFactory.Create(Core.Enums.JT808ModeType.Tcp);
this.jT808TrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.tcp);
this.jT808DownlinkPacket = jT808DownlinkPacket;
} }


protected override void Encode(IChannelHandlerContext context, IJT808Reply message, IByteBuffer output) protected override void Encode(IChannelHandlerContext context, IJT808Reply message, IByteBuffer output)
@@ -31,6 +38,7 @@ namespace JT808.DotNetty.Core.Codecs
{ {
var sendData = JT808Serializer.Serialize(message.Package, message.MinBufferSize); var sendData = JT808Serializer.Serialize(message.Package, message.MinBufferSize);
jT808TrafficService.SendSize(sendData.Length); jT808TrafficService.SendSize(sendData.Length);
jT808DownlinkPacket.ProcessorAsync(sendData, JT808TransportProtocolType.tcp);
output.WriteBytes(Unpooled.WrappedBuffer(sendData)); output.WriteBytes(Unpooled.WrappedBuffer(sendData));
} }
catch (JT808.Protocol.Exceptions.JT808Exception ex) catch (JT808.Protocol.Exceptions.JT808Exception ex)
@@ -45,6 +53,7 @@ namespace JT808.DotNetty.Core.Codecs
else if (message.HexData != null) else if (message.HexData != null)
{ {
jT808TrafficService.SendSize(message.HexData.Length); jT808TrafficService.SendSize(message.HexData.Length);
jT808DownlinkPacket.ProcessorAsync(message.HexData, JT808TransportProtocolType.tcp);
output.WriteBytes(Unpooled.WrappedBuffer(message.HexData)); output.WriteBytes(Unpooled.WrappedBuffer(message.HexData));
} }
} }


+ 1
- 1
src/JT808.DotNetty.Core/Configurations/JT808Configuration.cs View File

@@ -8,7 +8,7 @@ namespace JT808.DotNetty.Core.Configurations
{ {
public int TcpPort { get; set; } = 808; public int TcpPort { get; set; } = 808;


public int UdpPort { get; set; } = 818;
public int UdpPort { get; set; } = 808;


public int QuietPeriodSeconds { get; set; } = 1; public int QuietPeriodSeconds { get; set; } = 1;




+ 33
- 0
src/JT808.DotNetty.Core/Impls/JT808DatagramPacketImpl.cs View File

@@ -0,0 +1,33 @@
using DotNetty.Buffers;
using DotNetty.Transport.Channels.Sockets;
using JT808.DotNetty.Abstractions;
using JT808.DotNetty.Abstractions.Enums;
using JT808.DotNetty.Core.Interfaces;
using JT808.DotNetty.Core.Services;
using System;
using System.Collections.Generic;
using System.Net;
using System.Text;

namespace JT808.DotNetty.Core.Impls
{
class JT808DatagramPacketImpl : IJT808DatagramPacket
{
private readonly JT808TrafficService jT808TrafficService;
private readonly IJT808DownlinkPacket jT808DownlinkPacket;
public JT808DatagramPacketImpl(
JT808TrafficServiceFactory jT808TrafficServiceFactory,
IJT808DownlinkPacket jT808DownlinkPacket)
{
this.jT808DownlinkPacket = jT808DownlinkPacket;
this.jT808TrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.udp);
}

public DatagramPacket Create(byte[] message, EndPoint recipient)
{
jT808TrafficService.SendSize(message.Length);
jT808DownlinkPacket.ProcessorAsync(message, JT808TransportProtocolType.udp);
return new DatagramPacket(Unpooled.WrappedBuffer(message), recipient);
}
}
}

+ 17
- 0
src/JT808.DotNetty.Core/Impls/JT808DownlinkPacketEmptyImpl.cs View File

@@ -0,0 +1,17 @@
using JT808.DotNetty.Abstractions;
using JT808.DotNetty.Abstractions.Enums;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace JT808.DotNetty.Core.Impls
{
class JT808DownlinkPacketEmptyImpl : IJT808DownlinkPacket
{
public Task ProcessorAsync(byte[] data, JT808TransportProtocolType transportProtocolType)
{
return Task.CompletedTask;
}
}
}

+ 17
- 0
src/JT808.DotNetty.Core/Impls/JT808UplinkPacketEmptyImpl.cs View File

@@ -0,0 +1,17 @@
using JT808.DotNetty.Abstractions;
using JT808.DotNetty.Abstractions.Enums;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace JT808.DotNetty.Core.Impls
{
class JT808UplinkPacketEmptyImpl : IJT808UplinkPacket
{
public Task ProcessorAsync(byte[] data, JT808TransportProtocolType transportProtocolType)
{
return Task.CompletedTask;
}
}
}

+ 13
- 0
src/JT808.DotNetty.Core/Interfaces/IJT808DatagramPacket.cs View File

@@ -0,0 +1,13 @@
using DotNetty.Transport.Channels.Sockets;
using System.Net;

namespace JT808.DotNetty.Core.Interfaces
{
/// <summary>
/// 基于udp的创建发送包
/// </summary>
interface IJT808DatagramPacket
{
DatagramPacket Create(byte[] message, EndPoint recipient);
}
}

+ 3
- 3
src/JT808.DotNetty.Core/JT808.DotNetty.Core.csproj View File

@@ -12,9 +12,9 @@
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl> <RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl> <PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</PackageLicenseUrl>
<license>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</license>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>1.1.1</Version>
<Version>1.2.0</Version>
</PropertyGroup> </PropertyGroup>


<ItemGroup> <ItemGroup>
@@ -25,6 +25,7 @@
<PackageReference Include="DotNetty.Handlers" Version="0.6.0" /> <PackageReference Include="DotNetty.Handlers" Version="0.6.0" />
<PackageReference Include="DotNetty.Transport.Libuv" Version="0.6.0" /> <PackageReference Include="DotNetty.Transport.Libuv" Version="0.6.0" />
<PackageReference Include="DotNetty.Codecs" Version="0.6.0" /> <PackageReference Include="DotNetty.Codecs" Version="0.6.0" />
<PackageReference Include="JT808" Version="1.3.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="2.2.0" /> <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" /> <PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
@@ -33,7 +34,6 @@


<ItemGroup> <ItemGroup>
<ProjectReference Include="..\JT808.DotNetty.Abstractions\JT808.DotNetty.Abstractions.csproj" /> <ProjectReference Include="..\JT808.DotNetty.Abstractions\JT808.DotNetty.Abstractions.csproj" />
<ProjectReference Include="..\JT808.Protocol\src\JT808.Protocol\JT808.Protocol.csproj" />
</ItemGroup> </ItemGroup>


</Project> </Project>

+ 4
- 0
src/JT808.DotNetty.Core/JT808CoreDotnettyExtensions.cs View File

@@ -55,6 +55,8 @@ namespace JT808.DotNetty.Core
} }
serviceDescriptors.Configure<JT808Configuration>(configuration.GetSection("JT808Configuration")); serviceDescriptors.Configure<JT808Configuration>(configuration.GetSection("JT808Configuration"));
serviceDescriptors.TryAddSingleton<IJT808SessionPublishing, JT808SessionPublishingEmptyImpl>(); serviceDescriptors.TryAddSingleton<IJT808SessionPublishing, JT808SessionPublishingEmptyImpl>();
serviceDescriptors.TryAddSingleton<IJT808DownlinkPacket, JT808DownlinkPacketEmptyImpl>();
serviceDescriptors.TryAddSingleton<IJT808UplinkPacket, JT808UplinkPacketEmptyImpl>();
serviceDescriptors.TryAddSingleton<IJT808SourcePackageDispatcher, JT808SourcePackageDispatcherEmptyImpl>(); serviceDescriptors.TryAddSingleton<IJT808SourcePackageDispatcher, JT808SourcePackageDispatcherEmptyImpl>();
serviceDescriptors.TryAddSingleton<JT808AtomicCounterServiceFactory>(); serviceDescriptors.TryAddSingleton<JT808AtomicCounterServiceFactory>();
serviceDescriptors.TryAddSingleton<JT808TrafficServiceFactory>(); serviceDescriptors.TryAddSingleton<JT808TrafficServiceFactory>();
@@ -80,6 +82,8 @@ namespace JT808.DotNetty.Core
} }
serviceDescriptors.Configure(jt808Options); serviceDescriptors.Configure(jt808Options);
serviceDescriptors.TryAddSingleton<IJT808SessionPublishing, JT808SessionPublishingEmptyImpl>(); serviceDescriptors.TryAddSingleton<IJT808SessionPublishing, JT808SessionPublishingEmptyImpl>();
serviceDescriptors.TryAddSingleton<IJT808DownlinkPacket, JT808DownlinkPacketEmptyImpl>();
serviceDescriptors.TryAddSingleton<IJT808UplinkPacket, JT808UplinkPacketEmptyImpl>();
serviceDescriptors.TryAddSingleton<IJT808SourcePackageDispatcher, JT808SourcePackageDispatcherEmptyImpl>(); serviceDescriptors.TryAddSingleton<IJT808SourcePackageDispatcher, JT808SourcePackageDispatcherEmptyImpl>();
serviceDescriptors.TryAddSingleton<JT808AtomicCounterServiceFactory>(); serviceDescriptors.TryAddSingleton<JT808AtomicCounterServiceFactory>();
serviceDescriptors.TryAddSingleton<JT808TrafficServiceFactory>(); serviceDescriptors.TryAddSingleton<JT808TrafficServiceFactory>();


+ 3
- 2
src/JT808.DotNetty.Core/Jobs/JT808TcpAtomicCouterResetDailyJob.cs View File

@@ -1,4 +1,5 @@
using JT808.DotNetty.Core.Services;
using JT808.DotNetty.Abstractions.Enums;
using JT808.DotNetty.Core.Services;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -15,7 +16,7 @@ namespace JT808.DotNetty.Core.Jobs
JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory, JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory,
ILoggerFactory loggerFactory) ILoggerFactory loggerFactory)
{ {
_jT808AtomicCounterService = jT808AtomicCounterServiceFactory.Create(Enums.JT808ModeType.Tcp);
_jT808AtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.tcp);
_logger =loggerFactory.CreateLogger<JT808TcpAtomicCouterResetDailyJob>(); _logger =loggerFactory.CreateLogger<JT808TcpAtomicCouterResetDailyJob>();
} }




+ 3
- 2
src/JT808.DotNetty.Core/Jobs/JT808TcpTrafficResetDailyJob.cs View File

@@ -1,4 +1,5 @@
using JT808.DotNetty.Core.Services;
using JT808.DotNetty.Abstractions.Enums;
using JT808.DotNetty.Core.Services;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -15,7 +16,7 @@ namespace JT808.DotNetty.Core.Jobs
JT808TrafficServiceFactory jT808TrafficServiceFactory, JT808TrafficServiceFactory jT808TrafficServiceFactory,
ILoggerFactory loggerFactory) ILoggerFactory loggerFactory)
{ {
_jT808TrafficService = jT808TrafficServiceFactory.Create( Enums.JT808ModeType.Tcp);
_jT808TrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.tcp);
_logger =loggerFactory.CreateLogger<JT808TcpTrafficResetDailyJob>(); _logger =loggerFactory.CreateLogger<JT808TcpTrafficResetDailyJob>();
} }




+ 3
- 2
src/JT808.DotNetty.Core/Jobs/JT808UdpAtomicCouterResetDailyJob.cs View File

@@ -1,4 +1,5 @@
using JT808.DotNetty.Core.Services;
using JT808.DotNetty.Abstractions.Enums;
using JT808.DotNetty.Core.Services;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -15,7 +16,7 @@ namespace JT808.DotNetty.Core.Jobs
JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory, JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory,
ILoggerFactory loggerFactory) ILoggerFactory loggerFactory)
{ {
_jT808AtomicCounterService = jT808AtomicCounterServiceFactory.Create(Enums.JT808ModeType.Udp);
_jT808AtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.udp);
_logger =loggerFactory.CreateLogger<JT808UdpAtomicCouterResetDailyJob>(); _logger =loggerFactory.CreateLogger<JT808UdpAtomicCouterResetDailyJob>();
} }




+ 3
- 2
src/JT808.DotNetty.Core/Jobs/JT808UdpTrafficResetDailyJob.cs View File

@@ -1,4 +1,5 @@
using JT808.DotNetty.Core.Services;
using JT808.DotNetty.Abstractions.Enums;
using JT808.DotNetty.Core.Services;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -15,7 +16,7 @@ namespace JT808.DotNetty.Core.Jobs
JT808TrafficServiceFactory jT808TrafficServiceFactory, JT808TrafficServiceFactory jT808TrafficServiceFactory,
ILoggerFactory loggerFactory) ILoggerFactory loggerFactory)
{ {
_jT808TrafficService = jT808TrafficServiceFactory.Create(Enums.JT808ModeType.Udp);
_jT808TrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.udp);
_logger =loggerFactory.CreateLogger<JT808UdpTrafficResetDailyJob>(); _logger =loggerFactory.CreateLogger<JT808UdpTrafficResetDailyJob>();
} }




+ 4
- 4
src/JT808.DotNetty.Core/Services/JT808AtomicCounterServiceFactory.cs View File

@@ -1,4 +1,4 @@
using JT808.DotNetty.Core.Enums;
using JT808.DotNetty.Abstractions.Enums;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;


@@ -6,14 +6,14 @@ namespace JT808.DotNetty.Core.Services
{ {
public class JT808AtomicCounterServiceFactory public class JT808AtomicCounterServiceFactory
{ {
private readonly ConcurrentDictionary<JT808ModeType, JT808AtomicCounterService> cache;
private readonly ConcurrentDictionary<JT808TransportProtocolType, JT808AtomicCounterService> cache;


public JT808AtomicCounterServiceFactory() public JT808AtomicCounterServiceFactory()
{ {
cache = new ConcurrentDictionary<JT808ModeType, JT808AtomicCounterService>();
cache = new ConcurrentDictionary<JT808TransportProtocolType, JT808AtomicCounterService>();
} }


public JT808AtomicCounterService Create(JT808ModeType type)
public JT808AtomicCounterService Create(JT808TransportProtocolType type)
{ {
if(cache.TryGetValue(type,out var service)) if(cache.TryGetValue(type,out var service))
{ {


+ 4
- 4
src/JT808.DotNetty.Core/Services/JT808TrafficServiceFactory.cs View File

@@ -1,4 +1,4 @@
using JT808.DotNetty.Core.Enums;
using JT808.DotNetty.Abstractions.Enums;
using JT808.DotNetty.Core.Metadata; using JT808.DotNetty.Core.Metadata;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
@@ -9,14 +9,14 @@ namespace JT808.DotNetty.Core.Services
{ {
public class JT808TrafficServiceFactory public class JT808TrafficServiceFactory
{ {
private readonly ConcurrentDictionary<JT808ModeType, JT808TrafficService> cache;
private readonly ConcurrentDictionary<JT808TransportProtocolType, JT808TrafficService> cache;


public JT808TrafficServiceFactory() public JT808TrafficServiceFactory()
{ {
cache = new ConcurrentDictionary<JT808ModeType, JT808TrafficService>();
cache = new ConcurrentDictionary<JT808TransportProtocolType, JT808TrafficService>();
} }


public JT808TrafficService Create(JT808ModeType type)
public JT808TrafficService Create(JT808TransportProtocolType type)
{ {
if (cache.TryGetValue(type, out var service)) if (cache.TryGetValue(type, out var service))
{ {


+ 4
- 5
src/JT808.DotNetty.Core/Services/JT808UnificationUdpSendService.cs View File

@@ -12,13 +12,13 @@ namespace JT808.DotNetty.Internal
{ {
private readonly JT808UdpSessionManager jT808SessionManager; private readonly JT808UdpSessionManager jT808SessionManager;


private readonly JT808TrafficService jT808TrafficService;
private readonly IJT808DatagramPacket jT808DatagramPacket;


public JT808UnificationUdpSendService( public JT808UnificationUdpSendService(
JT808TrafficServiceFactory jT808TrafficServiceFactory,
IJT808DatagramPacket jT808DatagramPacket,
JT808UdpSessionManager jT808SessionManager) JT808UdpSessionManager jT808SessionManager)
{ {
this.jT808TrafficService = jT808TrafficServiceFactory.Create(Core.Enums.JT808ModeType.Udp);
this.jT808DatagramPacket = jT808DatagramPacket;
this.jT808SessionManager = jT808SessionManager; this.jT808SessionManager = jT808SessionManager;
} }


@@ -30,8 +30,7 @@ namespace JT808.DotNetty.Internal
var session = jT808SessionManager.GetSession(terminalPhoneNo); var session = jT808SessionManager.GetSession(terminalPhoneNo);
if (session != null) if (session != null)
{ {
jT808TrafficService.SendSize(data.Length);
session.Channel.WriteAndFlushAsync(new DatagramPacket(Unpooled.WrappedBuffer(data), session.Sender));
session.Channel.WriteAndFlushAsync(jT808DatagramPacket.Create(data, session.Sender));
resultDto.Code = JT808ResultCode.Ok; resultDto.Code = JT808ResultCode.Ok;
resultDto.Data = true; resultDto.Data = true;
} }


+ 9
- 3
src/JT808.DotNetty.Tcp/Handlers/JT808TcpServerHandler.cs View File

@@ -9,6 +9,7 @@ using JT808.DotNetty.Core.Handlers;
using JT808.DotNetty.Core.Services; using JT808.DotNetty.Core.Services;
using JT808.DotNetty.Core.Metadata; using JT808.DotNetty.Core.Metadata;
using JT808.DotNetty.Core.Interfaces; using JT808.DotNetty.Core.Interfaces;
using JT808.DotNetty.Abstractions.Enums;


namespace JT808.DotNetty.Tcp.Handlers namespace JT808.DotNetty.Tcp.Handlers
{ {
@@ -29,6 +30,8 @@ namespace JT808.DotNetty.Tcp.Handlers


private readonly JT808TrafficService jT808TrafficService; private readonly JT808TrafficService jT808TrafficService;


private readonly IJT808UplinkPacket jT808UplinkPacket;

private readonly ILogger<JT808TcpServerHandler> logger; private readonly ILogger<JT808TcpServerHandler> logger;


private readonly ILogger unknownLogger; private readonly ILogger unknownLogger;
@@ -38,16 +41,18 @@ namespace JT808.DotNetty.Tcp.Handlers
ILoggerFactory loggerFactory, ILoggerFactory loggerFactory,
JT808TransmitAddressFilterService jT808TransmitAddressFilterService, JT808TransmitAddressFilterService jT808TransmitAddressFilterService,
IJT808SourcePackageDispatcher jT808SourcePackageDispatcher, IJT808SourcePackageDispatcher jT808SourcePackageDispatcher,
IJT808UplinkPacket jT808UplinkPacket,
JT808MsgIdTcpHandlerBase handler, JT808MsgIdTcpHandlerBase handler,
JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory, JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory,
JT808TcpSessionManager jT808SessionManager) JT808TcpSessionManager jT808SessionManager)
{ {
this.jT808TrafficService = jT808TrafficServiceFactory.Create(Core.Enums.JT808ModeType.Tcp);
this.jT808TrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.tcp);
this.jT808TransmitAddressFilterService = jT808TransmitAddressFilterService; this.jT808TransmitAddressFilterService = jT808TransmitAddressFilterService;
this.handler = handler; this.handler = handler;
this.jT808SessionManager = jT808SessionManager; this.jT808SessionManager = jT808SessionManager;
this.jT808SourcePackageDispatcher = jT808SourcePackageDispatcher; this.jT808SourcePackageDispatcher = jT808SourcePackageDispatcher;
this.jT808AtomicCounterService = jT808AtomicCounterServiceFactory.Create(Core.Enums.JT808ModeType.Tcp);
this.jT808UplinkPacket = jT808UplinkPacket;
this.jT808AtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.tcp);
logger = loggerFactory.CreateLogger<JT808TcpServerHandler>(); logger = loggerFactory.CreateLogger<JT808TcpServerHandler>();
unknownLogger = loggerFactory.CreateLogger("tcp_unknown_msgid"); unknownLogger = loggerFactory.CreateLogger("tcp_unknown_msgid");
} }
@@ -57,7 +62,8 @@ namespace JT808.DotNetty.Tcp.Handlers
{ {
try try
{ {
jT808SourcePackageDispatcher?.SendAsync(msg);
jT808SourcePackageDispatcher.SendAsync(msg);
jT808UplinkPacket.ProcessorAsync(msg, JT808TransportProtocolType.tcp);
//解析到头部,然后根据具体的消息Id通过队列去进行消费 //解析到头部,然后根据具体的消息Id通过队列去进行消费
//要是一定要解析到数据体可以在JT808MsgIdHandlerBase类中根据具体的消息, //要是一定要解析到数据体可以在JT808MsgIdHandlerBase类中根据具体的消息,
//解析具体的消息体,具体调用JT808Serializer.Deserialize<T> //解析具体的消息体,具体调用JT808Serializer.Deserialize<T>


+ 2
- 2
src/JT808.DotNetty.Tcp/JT808.DotNetty.Tcp.csproj View File

@@ -12,9 +12,9 @@
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl> <RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl> <PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</PackageLicenseUrl>
<license>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</license>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>1.1.1</Version>
<Version>1.2.0</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="DotNetty.Buffers" Version="0.6.0" /> <PackageReference Include="DotNetty.Buffers" Version="0.6.0" />


+ 5
- 6
src/JT808.DotNetty.Tests/JT808.DotNetty.WebApi.Test/JT808DotNettyWebApiTest.cs View File

@@ -14,13 +14,12 @@ namespace JT808.DotNetty.WebApi.Test


public JT808DotNettyWebApiTest() public JT808DotNettyWebApiTest()
{ {

var httpApiConfig = new HttpApiConfig
HttpApi.Register<IJT808DotNettyWebApi>().ConfigureHttpApiConfig(c =>
{ {
HttpHost = new Uri("http://127.0.0.1:12828"+ JT808Constants.JT808WebApiRouteTable.RouteTablePrefix+"/"),
LoggerFactory = new LoggerFactory(),
};
jT808DotNettyWebApi = HttpApiClient.Create<IJT808DotNettyWebApi>(httpApiConfig);
c.HttpHost = new Uri("http://127.0.0.1:12828" + JT808Constants.JT808WebApiRouteTable.RouteTablePrefix + "/");
c.LoggerFactory = new LoggerFactory();
});
var api = HttpApi.Resolve<IJT808DotNettyWebApi>();
} }


[TestMethod] [TestMethod]


+ 25
- 6
src/JT808.DotNetty.Udp/Handlers/JT808UdpServerHandler.cs View File

@@ -11,6 +11,7 @@ using JT808.DotNetty.Core;
using JT808.DotNetty.Core.Handlers; using JT808.DotNetty.Core.Handlers;
using System.Threading.Tasks; using System.Threading.Tasks;
using JT808.DotNetty.Core.Interfaces; using JT808.DotNetty.Core.Interfaces;
using JT808.DotNetty.Abstractions.Enums;


namespace JT808.DotNetty.Udp.Handlers namespace JT808.DotNetty.Udp.Handlers
{ {
@@ -31,33 +32,44 @@ namespace JT808.DotNetty.Udp.Handlers


private readonly JT808TrafficService jT808TrafficService; private readonly JT808TrafficService jT808TrafficService;


private readonly IJT808UplinkPacket jT808UplinkPacket;

private readonly IJT808DatagramPacket jT808DatagramPacket;

private readonly ILogger unknownLogger;
public JT808UdpServerHandler( public JT808UdpServerHandler(
IJT808DatagramPacket jT808DatagramPacket,
JT808TrafficServiceFactory jT808TrafficServiceFactory, JT808TrafficServiceFactory jT808TrafficServiceFactory,
ILoggerFactory loggerFactory, ILoggerFactory loggerFactory,
IJT808SourcePackageDispatcher jT808SourcePackageDispatcher, IJT808SourcePackageDispatcher jT808SourcePackageDispatcher,
IJT808UplinkPacket jT808UplinkPacket,
JT808MsgIdUdpHandlerBase handler, JT808MsgIdUdpHandlerBase handler,
JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory, JT808AtomicCounterServiceFactory jT808AtomicCounterServiceFactory,
JT808UdpSessionManager jT808UdpSessionManager) JT808UdpSessionManager jT808UdpSessionManager)
{ {
this.jT808TrafficService = jT808TrafficServiceFactory.Create(Core.Enums.JT808ModeType.Udp);
this.jT808DatagramPacket = jT808DatagramPacket;
this.jT808TrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.udp);
this.handler = handler; this.handler = handler;
this.jT808SourcePackageDispatcher = jT808SourcePackageDispatcher; this.jT808SourcePackageDispatcher = jT808SourcePackageDispatcher;
this.jT808AtomicCounterService = jT808AtomicCounterServiceFactory.Create(Core.Enums.JT808ModeType.Udp);
this.jT808AtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.udp);
this.jT808UplinkPacket = jT808UplinkPacket;
this.jT808UdpSessionManager = jT808UdpSessionManager; this.jT808UdpSessionManager = jT808UdpSessionManager;
logger = loggerFactory.CreateLogger<JT808UdpServerHandler>(); logger = loggerFactory.CreateLogger<JT808UdpServerHandler>();
unknownLogger = loggerFactory.CreateLogger("udp_unknown_msgid");
} }


protected override void ChannelRead0(IChannelHandlerContext ctx, JT808UdpPackage msg) protected override void ChannelRead0(IChannelHandlerContext ctx, JT808UdpPackage msg)
{ {
try try
{ {
jT808SourcePackageDispatcher?.SendAsync(msg.Buffer);
jT808TrafficService.ReceiveSize(msg.Buffer.Length);
jT808SourcePackageDispatcher.SendAsync(msg.Buffer);
jT808UplinkPacket.ProcessorAsync(msg.Buffer, JT808TransportProtocolType.udp);
//解析到头部,然后根据具体的消息Id通过队列去进行消费 //解析到头部,然后根据具体的消息Id通过队列去进行消费
//要是一定要解析到数据体可以在JT808MsgIdHandlerBase类中根据具体的消息, //要是一定要解析到数据体可以在JT808MsgIdHandlerBase类中根据具体的消息,
//解析具体的消息体,具体调用JT808Serializer.Deserialize<T> //解析具体的消息体,具体调用JT808Serializer.Deserialize<T>
JT808HeaderPackage jT808HeaderPackage = JT808Serializer.Deserialize<JT808HeaderPackage>(msg.Buffer); JT808HeaderPackage jT808HeaderPackage = JT808Serializer.Deserialize<JT808HeaderPackage>(msg.Buffer);
jT808AtomicCounterService.MsgSuccessIncrement(); jT808AtomicCounterService.MsgSuccessIncrement();
jT808TrafficService.ReceiveSize(msg.Buffer.Length);
jT808UdpSessionManager.TryAdd(ctx.Channel, msg.Sender, jT808HeaderPackage.Header.TerminalPhoneNo); jT808UdpSessionManager.TryAdd(ctx.Channel, msg.Sender, jT808HeaderPackage.Header.TerminalPhoneNo);
if (logger.IsEnabled(LogLevel.Debug)) if (logger.IsEnabled(LogLevel.Debug))
{ {
@@ -69,8 +81,15 @@ namespace JT808.DotNetty.Udp.Handlers
if (jT808Response != null) if (jT808Response != null)
{ {
var sendData = JT808Serializer.Serialize(jT808Response.Package, jT808Response.MinBufferSize); var sendData = JT808Serializer.Serialize(jT808Response.Package, jT808Response.MinBufferSize);
jT808TrafficService.SendSize(sendData.Length);
ctx.WriteAndFlushAsync(new DatagramPacket(Unpooled.WrappedBuffer(sendData), msg.Sender));
ctx.WriteAndFlushAsync(jT808DatagramPacket.Create(sendData,msg.Sender));
}
}
else
{
//未知的消息类型已日志形式输出
if (unknownLogger.IsEnabled(LogLevel.Debug))
{
unknownLogger.LogDebug(ByteBufferUtil.HexDump(msg.Buffer));
} }
} }
} }


+ 2
- 2
src/JT808.DotNetty.Udp/JT808.DotNetty.Udp.csproj View File

@@ -12,9 +12,9 @@
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl> <RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl> <PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</PackageLicenseUrl>
<license>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</license>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>1.1.1</Version>
<Version>1.2.0</Version>
</PropertyGroup> </PropertyGroup>


<ItemGroup> <ItemGroup>


+ 3
- 0
src/JT808.DotNetty.Udp/JT808UdpDotnettyExtensions.cs View File

@@ -1,6 +1,8 @@
using JT808.DotNetty.Core; using JT808.DotNetty.Core;
using JT808.DotNetty.Core.Codecs; using JT808.DotNetty.Core.Codecs;
using JT808.DotNetty.Core.Handlers; using JT808.DotNetty.Core.Handlers;
using JT808.DotNetty.Core.Impls;
using JT808.DotNetty.Core.Interfaces;
using JT808.DotNetty.Core.Jobs; using JT808.DotNetty.Core.Jobs;
using JT808.DotNetty.Core.Services; using JT808.DotNetty.Core.Services;
using JT808.DotNetty.Udp.Handlers; using JT808.DotNetty.Udp.Handlers;
@@ -18,6 +20,7 @@ namespace JT808.DotNetty.Udp
{ {
public static IServiceCollection AddJT808UdpHost(this IServiceCollection serviceDescriptors) public static IServiceCollection AddJT808UdpHost(this IServiceCollection serviceDescriptors)
{ {
serviceDescriptors.TryAddSingleton<IJT808DatagramPacket, JT808DatagramPacketImpl>();
serviceDescriptors.TryAddSingleton<JT808UdpSessionManager>(); serviceDescriptors.TryAddSingleton<JT808UdpSessionManager>();
serviceDescriptors.TryAddSingleton<JT808MsgIdUdpHandlerBase, JT808MsgIdDefaultUdpHandler>(); serviceDescriptors.TryAddSingleton<JT808MsgIdUdpHandlerBase, JT808MsgIdDefaultUdpHandler>();
serviceDescriptors.TryAddScoped<JT808UdpDecoder>(); serviceDescriptors.TryAddScoped<JT808UdpDecoder>();


+ 9
- 9
src/JT808.DotNetty.WebApi/Handlers/JT808MsgIdDefaultWebApiHandler.cs View File

@@ -1,6 +1,6 @@
using JT808.DotNetty.Abstractions; using JT808.DotNetty.Abstractions;
using JT808.DotNetty.Abstractions.Dtos; using JT808.DotNetty.Abstractions.Dtos;
using JT808.DotNetty.Core.Enums;
using JT808.DotNetty.Abstractions.Enums;
using JT808.DotNetty.Core.Handlers; using JT808.DotNetty.Core.Handlers;
using JT808.DotNetty.Core.Interfaces; using JT808.DotNetty.Core.Interfaces;
using JT808.DotNetty.Core.Metadata; using JT808.DotNetty.Core.Metadata;
@@ -48,11 +48,11 @@ namespace JT808.DotNetty.WebApi.Handlers
) )
{ {
this.jT808SimpleSystemCollectService = jT808SimpleSystemCollectService; this.jT808SimpleSystemCollectService = jT808SimpleSystemCollectService;
this.jT808TcpTrafficService = jT808TrafficServiceFactory.Create(JT808ModeType.Tcp);
this.jT808TcpTrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.tcp);
this.jT808UnificationTcpSendService = jT808UnificationTcpSendService; this.jT808UnificationTcpSendService = jT808UnificationTcpSendService;
this.jT808TcpSessionService = jT808TcpSessionService; this.jT808TcpSessionService = jT808TcpSessionService;
this.jT808TransmitAddressFilterService = jT808TransmitAddressFilterService; this.jT808TransmitAddressFilterService = jT808TransmitAddressFilterService;
this.jT808TcpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808ModeType.Tcp);
this.jT808TcpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.tcp);
InitCommonRoute(); InitCommonRoute();
InitTcpRoute(); InitTcpRoute();
} }
@@ -70,10 +70,10 @@ namespace JT808.DotNetty.WebApi.Handlers
) )
{ {
this.jT808SimpleSystemCollectService = jT808SimpleSystemCollectService; this.jT808SimpleSystemCollectService = jT808SimpleSystemCollectService;
this.jT808UdpTrafficService = jT808TrafficServiceFactory.Create(JT808ModeType.Udp);
this.jT808UdpTrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.udp);
this.jT808UdpSessionService = jT808UdpSessionService; this.jT808UdpSessionService = jT808UdpSessionService;
this.jT808UnificationUdpSendService = jT808UnificationUdpSendService; this.jT808UnificationUdpSendService = jT808UnificationUdpSendService;
this.jT808UdpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808ModeType.Udp);
this.jT808UdpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.udp);
InitCommonRoute(); InitCommonRoute();
InitUdpRoute(); InitUdpRoute();
} }
@@ -95,15 +95,15 @@ namespace JT808.DotNetty.WebApi.Handlers
) )
{ {
this.jT808SimpleSystemCollectService = jT808SimpleSystemCollectService; this.jT808SimpleSystemCollectService = jT808SimpleSystemCollectService;
this.jT808TcpTrafficService = jT808TrafficServiceFactory.Create(JT808ModeType.Tcp);
this.jT808UdpTrafficService = jT808TrafficServiceFactory.Create(JT808ModeType.Udp);
this.jT808TcpTrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.tcp);
this.jT808UdpTrafficService = jT808TrafficServiceFactory.Create(JT808TransportProtocolType.udp);
this.jT808UdpSessionService = jT808UdpSessionService; this.jT808UdpSessionService = jT808UdpSessionService;
this.jT808UnificationTcpSendService = jT808UnificationTcpSendService; this.jT808UnificationTcpSendService = jT808UnificationTcpSendService;
this.jT808UnificationUdpSendService = jT808UnificationUdpSendService; this.jT808UnificationUdpSendService = jT808UnificationUdpSendService;
this.jT808TcpSessionService = jT808TcpSessionService; this.jT808TcpSessionService = jT808TcpSessionService;
this.jT808TransmitAddressFilterService = jT808TransmitAddressFilterService; this.jT808TransmitAddressFilterService = jT808TransmitAddressFilterService;
this.jT808TcpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808ModeType.Tcp);
this.jT808UdpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808ModeType.Udp);
this.jT808TcpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.tcp);
this.jT808UdpAtomicCounterService = jT808AtomicCounterServiceFactory.Create(JT808TransportProtocolType.udp);
InitCommonRoute(); InitCommonRoute();
InitTcpRoute(); InitTcpRoute();
InitUdpRoute(); InitUdpRoute();


+ 2
- 2
src/JT808.DotNetty.WebApi/JT808.DotNetty.WebApi.csproj View File

@@ -12,9 +12,9 @@
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl> <RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl> <PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</PackageLicenseUrl>
<license>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</license>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>1.1.1</Version>
<Version>1.2.0</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="DotNetty.Buffers" Version="0.6.0" /> <PackageReference Include="DotNetty.Buffers" Version="0.6.0" />


+ 3
- 3
src/JT808.DotNetty.WebApiClientTool/JT808.DotNetty.WebApiClientTool.csproj View File

@@ -12,13 +12,13 @@
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl> <RepositoryUrl>https://github.com/SmallChi/JT808DotNetty</RepositoryUrl>
<PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl> <PackageProjectUrl>https://github.com/SmallChi/JT808DotNetty</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</PackageLicenseUrl>
<license>https://github.com/SmallChi/JT808DotNetty/blob/master/LICENSE</license>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>1.1.1</Version>
<Version>1.2.0</Version>
</PropertyGroup> </PropertyGroup>


<ItemGroup> <ItemGroup>
<PackageReference Include="WebApiClient.JIT" Version="0.3.4" />
<PackageReference Include="WebApiClient.JIT" Version="1.0.9" />
</ItemGroup> </ItemGroup>


<ItemGroup> <ItemGroup>


+ 0
- 9
src/JT808.DotNetty.sln View File

@@ -3,10 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16 # Visual Studio Version 16
VisualStudioVersion = 16.0.28922.388 VisualStudioVersion = 16.0.28922.388
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{B5A80356-5AF6-449F-9D8B-3C1BBB9D2443}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.Protocol", "JT808.Protocol\src\JT808.Protocol\JT808.Protocol.csproj", "{9FCA2EE9-8253-41AA-A64C-9883413864F9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.DotNetty.Udp", "JT808.DotNetty.Udp\JT808.DotNetty.Udp.csproj", "{C960084C-2CF4-4748-AD35-D2384285D6A3}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.DotNetty.Udp", "JT808.DotNetty.Udp\JT808.DotNetty.Udp.csproj", "{C960084C-2CF4-4748-AD35-D2384285D6A3}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.DotNetty.Core", "JT808.DotNetty.Core\JT808.DotNetty.Core.csproj", "{67C5DC72-0004-48B3-BB5A-9CB7069B4F02}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JT808.DotNetty.Core", "JT808.DotNetty.Core\JT808.DotNetty.Core.csproj", "{67C5DC72-0004-48B3-BB5A-9CB7069B4F02}"
@@ -45,10 +41,6 @@ Global
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9FCA2EE9-8253-41AA-A64C-9883413864F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9FCA2EE9-8253-41AA-A64C-9883413864F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9FCA2EE9-8253-41AA-A64C-9883413864F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9FCA2EE9-8253-41AA-A64C-9883413864F9}.Release|Any CPU.Build.0 = Release|Any CPU
{C960084C-2CF4-4748-AD35-D2384285D6A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C960084C-2CF4-4748-AD35-D2384285D6A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C960084C-2CF4-4748-AD35-D2384285D6A3}.Debug|Any CPU.Build.0 = Debug|Any CPU {C960084C-2CF4-4748-AD35-D2384285D6A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C960084C-2CF4-4748-AD35-D2384285D6A3}.Release|Any CPU.ActiveCfg = Release|Any CPU {C960084C-2CF4-4748-AD35-D2384285D6A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -110,7 +102,6 @@ Global
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(NestedProjects) = preSolution GlobalSection(NestedProjects) = preSolution
{9FCA2EE9-8253-41AA-A64C-9883413864F9} = {B5A80356-5AF6-449F-9D8B-3C1BBB9D2443}
{1C4CCE9B-761B-4581-B5DA-5B6D83572D56} = {3BD7FF02-8516-4A77-A385-9FDCDD792E22} {1C4CCE9B-761B-4581-B5DA-5B6D83572D56} = {3BD7FF02-8516-4A77-A385-9FDCDD792E22}
{AEF1E1E2-C861-4268-86F6-6F376FAF79A7} = {3BD7FF02-8516-4A77-A385-9FDCDD792E22} {AEF1E1E2-C861-4268-86F6-6F376FAF79A7} = {3BD7FF02-8516-4A77-A385-9FDCDD792E22}
{E503BFD8-D90A-4610-97C7-5B9A0497303B} = {3BD7FF02-8516-4A77-A385-9FDCDD792E22} {E503BFD8-D90A-4610-97C7-5B9A0497303B} = {3BD7FF02-8516-4A77-A385-9FDCDD792E22}


+ 0
- 1
src/JT808.Protocol

@@ -1 +0,0 @@
Subproject commit f0a1c9255c52540af52fdc679f67380b442fce36

Loading…
Cancel
Save