浏览代码

1.增加一些常用消息处理

2.增加grpc针对tcp会话的常用查询
3.升级依赖库
tags/pipeline-1.0.0
smallchi(Koike) 5 年前
父节点
当前提交
9245b94cda
共有 28 个文件被更改,包括 1310 次插入104 次删除
  1. +6
    -6
      simples/JT808.Gateway.SimpleClient/JT808.Gateway.SimpleClient.csproj
  2. +3
    -3
      simples/JT808.Gateway.SimpleQueueNotification/JT808.Gateway.SimpleQueueNotification.csproj
  3. +6
    -6
      simples/JT808.Gateway.SimpleQueueServer/JT808.Gateway.SimpleQueueServer.csproj
  4. +13
    -13
      simples/JT808.Gateway.SimpleQueueService/JT808.Gateway.SimpleQueueService.csproj
  5. +11
    -11
      simples/JT808.Gateway.SimpleServer/JT808.Gateway.SimpleServer.csproj
  6. +8
    -2
      src/JT808.Gateway.Abstractions/JT808.Gateway.Abstractions.csproj
  7. +843
    -0
      src/JT808.Gateway.Abstractions/JT808.Gateway.Abstractions.xml
  8. +166
    -13
      src/JT808.Gateway.Abstractions/JT808NormalReplyMessageHandler.cs
  9. +156
    -17
      src/JT808.Gateway.Abstractions/JT808QueueReplyMessageHandler.cs
  10. +11
    -1
      src/JT808.Gateway.Abstractions/Protos/JT808Gateway.proto
  11. +4
    -4
      src/JT808.Gateway.Benchmark/JT808.Gateway.CleintBenchmark/JT808.Gateway.CleintBenchmark.csproj
  12. +2
    -2
      src/JT808.Gateway.Benchmark/JT808.Gateway.ServerBenchmark/JT808.Gateway.ServerBenchmark.csproj
  13. +5
    -5
      src/JT808.Gateway.Client/JT808.Gateway.Client.csproj
  14. +5
    -5
      src/JT808.Gateway.Kafka/JT808.Gateway.Kafka.csproj
  15. +1
    -1
      src/JT808.Gateway.Services/JT808.Gateway.MsgLogging/JT808.Gateway.MsgLogging.csproj
  16. +1
    -1
      src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808.Gateway.ReplyMessage.csproj
  17. +1
    -1
      src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808.Gateway.SessionNotice.csproj
  18. +1
    -1
      src/JT808.Gateway.Services/JT808.Gateway.Transmit/JT808.Gateway.Transmit.csproj
  19. +2
    -2
      src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/JT808.Gateway.NormalHosting.csproj
  20. +2
    -2
      src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/JT808.Gateway.QueueHosting.csproj
  21. +12
    -3
      src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Program.cs
  22. +10
    -0
      src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/appsettings.json
  23. +2
    -2
      src/JT808.Gateway.Tests/JT808.Gateway.Test/JT808.Gateway.Test.csproj
  24. +2
    -2
      src/JT808.Gateway/JT808.Gateway.csproj
  25. +4
    -0
      src/JT808.Gateway/JT808TcpServer.cs
  26. +4
    -0
      src/JT808.Gateway/JT808UdpServer.cs
  27. +28
    -0
      src/JT808.Gateway/Services/JT808GatewayService.cs
  28. +1
    -1
      src/Version.props

+ 6
- 6
simples/JT808.Gateway.SimpleClient/JT808.Gateway.SimpleClient.csproj 查看文件

@@ -6,12 +6,12 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="JT808.Gateway.Abstractions" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.Client" Version="1.0.0-preview8" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.1" />
<PackageReference Include="JT808.Gateway.Abstractions" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.Client" Version="1.0.0-preview9" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.2" />
<PackageReference Include="WebApiClient.Extensions.DependencyInjection" Version="2.0.3" />
</ItemGroup>
</Project>

+ 3
- 3
simples/JT808.Gateway.SimpleQueueNotification/JT808.Gateway.SimpleQueueNotification.csproj 查看文件

@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
@@ -27,7 +27,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="JT808.Gateway.Kafka" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.MsgIdHandler" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.Kafka" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.MsgIdHandler" Version="1.0.0-preview9" />
</ItemGroup>
</Project>

+ 6
- 6
simples/JT808.Gateway.SimpleQueueServer/JT808.Gateway.SimpleQueueServer.csproj 查看文件

@@ -6,12 +6,12 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="JT808.Gateway" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.Kafka" Version="1.0.0-preview8" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.1" />
<PackageReference Include="JT808.Gateway" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.Kafka" Version="1.0.0-preview9" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.2" />
</ItemGroup>
<ItemGroup>


+ 13
- 13
simples/JT808.Gateway.SimpleQueueService/JT808.Gateway.SimpleQueueService.csproj 查看文件

@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
@@ -6,18 +6,18 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="JT808.Gateway" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.Kafka" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.MsgIdHandler" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.MsgLogging" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.ReplyMessage" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.SessionNotice" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.Traffic" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.Transmit" Version="1.0.0-preview8" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.1" />
<PackageReference Include="JT808.Gateway" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.Kafka" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.MsgIdHandler" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.MsgLogging" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.ReplyMessage" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.SessionNotice" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.Traffic" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.Transmit" Version="1.0.0-preview9" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.2" />
</ItemGroup>

<ItemGroup>


+ 11
- 11
simples/JT808.Gateway.SimpleServer/JT808.Gateway.SimpleServer.csproj 查看文件

@@ -5,17 +5,17 @@
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JT808.Gateway" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.MsgIdHandler" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.MsgLogging" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.ReplyMessage" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.SessionNotice" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.Traffic" Version="1.0.0-preview8" />
<PackageReference Include="JT808.Gateway.Transmit" Version="1.0.0-preview8" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.1" />
<PackageReference Include="JT808.Gateway" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.MsgIdHandler" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.MsgLogging" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.ReplyMessage" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.SessionNotice" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.Traffic" Version="1.0.0-preview9" />
<PackageReference Include="JT808.Gateway.Transmit" Version="1.0.0-preview9" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.2" />
</ItemGroup>
<ItemGroup>
<None Update="appsettings.json">


+ 8
- 2
src/JT808.Gateway.Abstractions/JT808.Gateway.Abstractions.csproj 查看文件

@@ -19,18 +19,24 @@
<Product>JT808.Gateway.Abstractions</Product>
<Version>$(JT808GatewayPackageVersion)</Version>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DocumentationFile></DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DocumentationFile>JT808.Gateway.Abstractions.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Protobuf Include="Protos\JT808Gateway.proto" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Google.Protobuf" Version="3.11.3" />
<PackageReference Include="Google.Protobuf" Version="3.11.4" />
<PackageReference Include="Grpc.Core" Version="2.27.0" />
<PackageReference Include="Grpc.Tools" Version="2.27.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="JT808" Version="2.2.7" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="3.1.2" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\LICENSE" Pack="true" PackagePath="" />


+ 843
- 0
src/JT808.Gateway.Abstractions/JT808.Gateway.Abstractions.xml 查看文件

@@ -0,0 +1,843 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>JT808.Gateway.Abstractions</name>
</assembly>
<members>
<member name="T:JT808.Gateway.Abstractions.Enums.JT808TransportProtocolType">
<summary>
传输协议类型
</summary>
</member>
<member name="M:JT808.Gateway.Abstractions.IJT808MsgProducer.ProduceAsync(System.String,System.Byte[])">
<summary>
</summary>
<param name="terminalNo">设备终端号</param>
<param name="data">808 hex data</param>
</member>
<member name="M:JT808.Gateway.Abstractions.IJT808MsgReplyProducer.ProduceAsync(System.String,System.Byte[])">
<summary>
</summary>
<param name="terminalNo">设备终端号</param>
<param name="data">808 hex data</param>
</member>
<member name="P:JT808.Gateway.Abstractions.IJT808Session.TerminalPhoneNo">
<summary>
终端手机号
</summary>
</member>
<member name="T:JT808.Gateway.Abstractions.IJT808SessionConsumer">
<summary>
会话通知(在线/离线)
</summary>
</member>
<member name="T:JT808.Gateway.Abstractions.IJT808SessionProducer">
<summary>
会话通知(在线/离线)
</summary>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Processor(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
</summary>
<param name="request">请求数据</param>
<param name="session">当前会话</param>
<returns>应答消息数据</returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0001(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
终端通用应答
平台无需回复
实现自己的业务
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.CommonReply(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
平台通用应答
</summary>
<param name="request"></param>
<param name="session"></param>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0002(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
终端心跳
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0004(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
查询服务器时间
2019版本
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x8003(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
服务器补传分包请求
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0005(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
终端补传分包请求
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0100(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
终端注册
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0003(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
终端注销
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0102(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
终端鉴权
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0104(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
查询终端参数应答
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0107(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
查询终端属性应答
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0108(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
终端升级结果应答
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0200(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
位置信息汇报
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0201(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
位置信息查询应答
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x8204(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
链路检测
2019版本
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0500(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
车辆控制应答
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0704(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
定位数据批量上传
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0705(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
CAN总线数据上传
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0800(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
多媒体事件信息上传
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0801(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
多媒体数据上传
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x8801(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
摄像头立即拍摄命令
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808NormalReplyMessageHandler.Msg0x0900(JT808.Protocol.JT808HeaderPackage,JT808.Gateway.Abstractions.IJT808Session)">
<summary>
数据上行透传
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0001(JT808.Protocol.JT808HeaderPackage)">
<summary>
终端通用应答
平台无需回复
实现自己的业务
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.CommonReply(JT808.Protocol.JT808HeaderPackage)">
<summary>
平台通用应答
</summary>
<param name="request"></param>
<param name="session"></param>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0002(JT808.Protocol.JT808HeaderPackage)">
<summary>
终端心跳
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0004(JT808.Protocol.JT808HeaderPackage)">
<summary>
查询服务器时间
2019版本
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x8003(JT808.Protocol.JT808HeaderPackage)">
<summary>
服务器补传分包请求
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0005(JT808.Protocol.JT808HeaderPackage)">
<summary>
终端补传分包请求
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0100(JT808.Protocol.JT808HeaderPackage)">
<summary>
终端注册
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0003(JT808.Protocol.JT808HeaderPackage)">
<summary>
终端注销
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0102(JT808.Protocol.JT808HeaderPackage)">
<summary>
终端鉴权
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0104(JT808.Protocol.JT808HeaderPackage)">
<summary>
查询终端参数应答
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0107(JT808.Protocol.JT808HeaderPackage)">
<summary>
查询终端属性应答
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0108(JT808.Protocol.JT808HeaderPackage)">
<summary>
终端升级结果应答
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0200(JT808.Protocol.JT808HeaderPackage)">
<summary>
位置信息汇报
</summary>
<param name="request"></param>
<param name="session"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0201(JT808.Protocol.JT808HeaderPackage)">
<summary>
位置信息查询应答
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x8204(JT808.Protocol.JT808HeaderPackage)">
<summary>
链路检测
2019版本
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0500(JT808.Protocol.JT808HeaderPackage)">
<summary>
车辆控制应答
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0704(JT808.Protocol.JT808HeaderPackage)">
<summary>
定位数据批量上传
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0705(JT808.Protocol.JT808HeaderPackage)">
<summary>
CAN总线数据上传
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0800(JT808.Protocol.JT808HeaderPackage)">
<summary>
多媒体事件信息上传
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0801(JT808.Protocol.JT808HeaderPackage)">
<summary>
多媒体数据上传
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x8801(JT808.Protocol.JT808HeaderPackage)">
<summary>
摄像头立即拍摄命令
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:JT808.Gateway.Abstractions.JT808QueueReplyMessageHandler.Msg0x0900(JT808.Protocol.JT808HeaderPackage)">
<summary>
数据上行透传
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="F:JT808.Gateway.Enums.JT808UseType.Normal">
<summary>
使用正常方式
</summary>
</member>
<member name="F:JT808.Gateway.Enums.JT808UseType.Queue">
<summary>
使用队列方式
</summary>
</member>
<member name="T:JT808.Gateway.GrpcService.JT808GatewayReflection">
<summary>Holder for reflection information generated from Protos/JT808Gateway.proto</summary>
</member>
<member name="P:JT808.Gateway.GrpcService.JT808GatewayReflection.Descriptor">
<summary>File descriptor for Protos/JT808Gateway.proto</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.TcpSessionInfoReply.TcpSessionsFieldNumber">
<summary>Field number for the "TcpSessions" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.SessionRequest.TerminalPhoneNoFieldNumber">
<summary>Field number for the "TerminalPhoneNo" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.SessionCountReply.CountFieldNumber">
<summary>Field number for the "Count" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.UdpSessionInfoReply.UdpSessionsFieldNumber">
<summary>Field number for the "UdpSessions" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.SessionInfo.StartTimeFieldNumber">
<summary>Field number for the "StartTime" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.SessionInfo.LastActiveTimeFieldNumber">
<summary>Field number for the "LastActiveTime" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.SessionInfo.TerminalPhoneNoFieldNumber">
<summary>Field number for the "TerminalPhoneNo" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.SessionInfo.RemoteAddressIPFieldNumber">
<summary>Field number for the "RemoteAddressIP" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.SessionRemoveRequest.TerminalPhoneNoFieldNumber">
<summary>Field number for the "TerminalPhoneNo" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.SessionRemoveReply.SuccessFieldNumber">
<summary>Field number for the "Success" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.UnificationSendRequest.TerminalPhoneNoFieldNumber">
<summary>Field number for the "TerminalPhoneNo" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.UnificationSendRequest.DataFieldNumber">
<summary>Field number for the "Data" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.UnificationSendReply.SuccessFieldNumber">
<summary>Field number for the "Success" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.TcpAtomicCounterReply.MsgSuccessCountFieldNumber">
<summary>Field number for the "MsgSuccessCount" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.TcpAtomicCounterReply.MsgFailCountFieldNumber">
<summary>Field number for the "MsgFailCount" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.UdpAtomicCounterReply.MsgSuccessCountFieldNumber">
<summary>Field number for the "MsgSuccessCount" field.</summary>
</member>
<member name="F:JT808.Gateway.GrpcService.UdpAtomicCounterReply.MsgFailCountFieldNumber">
<summary>Field number for the "MsgFailCount" field.</summary>
</member>
<member name="P:JT808.Gateway.GrpcService.JT808Gateway.Descriptor">
<summary>Service descriptor</summary>
</member>
<member name="T:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase">
<summary>Base class for server-side implementations of JT808Gateway</summary>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase.GetTcpSessionAll(JT808.Gateway.GrpcService.Empty,Grpc.Core.ServerCallContext)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request received from the client.</param>
<param name="context">The context of the server-side call handler being invoked.</param>
<returns>The response to send back to the client (wrapped by a task).</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase.GetTcpSessionCount(JT808.Gateway.GrpcService.Empty,Grpc.Core.ServerCallContext)">
<summary>
会话服务-获取会话总数
</summary>
<param name="request">The request received from the client.</param>
<param name="context">The context of the server-side call handler being invoked.</param>
<returns>The response to send back to the client (wrapped by a task).</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase.GetTcpSessionByTerminalPhoneNo(JT808.Gateway.GrpcService.SessionRequest,Grpc.Core.ServerCallContext)">
<summary>
会话服务-通过设备终端号获取当前会话信息
</summary>
<param name="request">The request received from the client.</param>
<param name="context">The context of the server-side call handler being invoked.</param>
<returns>The response to send back to the client (wrapped by a task).</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase.RemoveSessionByTerminalPhoneNo(JT808.Gateway.GrpcService.SessionRemoveRequest,Grpc.Core.ServerCallContext)">
<summary>
会话服务-通过设备终端号移除对应会话
</summary>
<param name="request">The request received from the client.</param>
<param name="context">The context of the server-side call handler being invoked.</param>
<returns>The response to send back to the client (wrapped by a task).</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase.UnificationSend(JT808.Gateway.GrpcService.UnificationSendRequest,Grpc.Core.ServerCallContext)">
<summary>
统一下发信息
</summary>
<param name="request">The request received from the client.</param>
<param name="context">The context of the server-side call handler being invoked.</param>
<returns>The response to send back to the client (wrapped by a task).</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase.GetTcpAtomicCounter(JT808.Gateway.GrpcService.Empty,Grpc.Core.ServerCallContext)">
<summary>
获取Tcp包计数器
</summary>
<param name="request">The request received from the client.</param>
<param name="context">The context of the server-side call handler being invoked.</param>
<returns>The response to send back to the client (wrapped by a task).</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase.GetUdpSessionAll(JT808.Gateway.GrpcService.Empty,Grpc.Core.ServerCallContext)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request received from the client.</param>
<param name="context">The context of the server-side call handler being invoked.</param>
<returns>The response to send back to the client (wrapped by a task).</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase.GetUdpAtomicCounter(JT808.Gateway.GrpcService.Empty,Grpc.Core.ServerCallContext)">
<summary>
获取Udp包计数器
</summary>
<param name="request">The request received from the client.</param>
<param name="context">The context of the server-side call handler being invoked.</param>
<returns>The response to send back to the client (wrapped by a task).</returns>
</member>
<member name="T:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient">
<summary>Client for JT808Gateway</summary>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.#ctor(Grpc.Core.ChannelBase)">
<summary>Creates a new client for JT808Gateway</summary>
<param name="channel">The channel to use to make remote calls.</param>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.#ctor(Grpc.Core.CallInvoker)">
<summary>Creates a new client for JT808Gateway that uses a custom <c>CallInvoker</c>.</summary>
<param name="callInvoker">The callInvoker to use to make remote calls.</param>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.#ctor">
<summary>Protected parameterless constructor to allow creation of test doubles.</summary>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.#ctor(Grpc.Core.ClientBase.ClientBaseConfiguration)">
<summary>Protected constructor to allow creation of configured clients.</summary>
<param name="configuration">The client configuration.</param>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionAll(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionAll(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionAllAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionAllAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionCount(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-获取会话总数
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionCount(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
会话服务-获取会话总数
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionCountAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-获取会话总数
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionCountAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
会话服务-获取会话总数
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionByTerminalPhoneNo(JT808.Gateway.GrpcService.SessionRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-通过设备终端号获取当前会话信息
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionByTerminalPhoneNo(JT808.Gateway.GrpcService.SessionRequest,Grpc.Core.CallOptions)">
<summary>
会话服务-通过设备终端号获取当前会话信息
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionByTerminalPhoneNoAsync(JT808.Gateway.GrpcService.SessionRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-通过设备终端号获取当前会话信息
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpSessionByTerminalPhoneNoAsync(JT808.Gateway.GrpcService.SessionRequest,Grpc.Core.CallOptions)">
<summary>
会话服务-通过设备终端号获取当前会话信息
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.RemoveSessionByTerminalPhoneNo(JT808.Gateway.GrpcService.SessionRemoveRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-通过设备终端号移除对应会话
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.RemoveSessionByTerminalPhoneNo(JT808.Gateway.GrpcService.SessionRemoveRequest,Grpc.Core.CallOptions)">
<summary>
会话服务-通过设备终端号移除对应会话
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.RemoveSessionByTerminalPhoneNoAsync(JT808.Gateway.GrpcService.SessionRemoveRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-通过设备终端号移除对应会话
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.RemoveSessionByTerminalPhoneNoAsync(JT808.Gateway.GrpcService.SessionRemoveRequest,Grpc.Core.CallOptions)">
<summary>
会话服务-通过设备终端号移除对应会话
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.UnificationSend(JT808.Gateway.GrpcService.UnificationSendRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
统一下发信息
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.UnificationSend(JT808.Gateway.GrpcService.UnificationSendRequest,Grpc.Core.CallOptions)">
<summary>
统一下发信息
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.UnificationSendAsync(JT808.Gateway.GrpcService.UnificationSendRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
统一下发信息
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.UnificationSendAsync(JT808.Gateway.GrpcService.UnificationSendRequest,Grpc.Core.CallOptions)">
<summary>
统一下发信息
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpAtomicCounter(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
获取Tcp包计数器
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpAtomicCounter(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
获取Tcp包计数器
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpAtomicCounterAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
获取Tcp包计数器
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetTcpAtomicCounterAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
获取Tcp包计数器
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetUdpSessionAll(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetUdpSessionAll(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetUdpSessionAllAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetUdpSessionAllAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
会话服务-获取会话服务集合
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetUdpAtomicCounter(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
获取Udp包计数器
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetUdpAtomicCounter(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
获取Udp包计数器
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The response received from the server.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetUdpAtomicCounterAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
<summary>
获取Udp包计数器
</summary>
<param name="request">The request to send to the server.</param>
<param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
<param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
<param name="cancellationToken">An optional token for canceling the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.GetUdpAtomicCounterAsync(JT808.Gateway.GrpcService.Empty,Grpc.Core.CallOptions)">
<summary>
获取Udp包计数器
</summary>
<param name="request">The request to send to the server.</param>
<param name="options">The options for the call.</param>
<returns>The call object.</returns>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayClient.NewInstance(Grpc.Core.ClientBase.ClientBaseConfiguration)">
<summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.BindService(JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase)">
<summary>Creates service definition that can be registered with a server</summary>
<param name="serviceImpl">An object implementing the server-side handling logic.</param>
</member>
<member name="M:JT808.Gateway.GrpcService.JT808Gateway.BindService(Grpc.Core.ServiceBinderBase,JT808.Gateway.GrpcService.JT808Gateway.JT808GatewayBase)">
<summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
<param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
<param name="serviceImpl">An object implementing the server-side handling logic.</param>
</member>
</members>
</doc>

+ 166
- 13
src/JT808.Gateway.Abstractions/JT808NormalReplyMessageHandler.cs 查看文件

@@ -26,7 +26,18 @@ namespace JT808.Gateway.Abstractions
{JT808MsgId.终端注册.ToUInt16Value(), Msg0x0100},
{JT808MsgId.位置信息汇报.ToUInt16Value(),Msg0x0200 },
{JT808MsgId.定位数据批量上传.ToUInt16Value(),Msg0x0704 },
{JT808MsgId.数据上行透传.ToUInt16Value(),Msg0x0900 }
{JT808MsgId.数据上行透传.ToUInt16Value(),Msg0x0900 },
{JT808MsgId.查询服务器时间请求.ToUInt16Value(),Msg0x0004 },
{JT808MsgId.查询终端参数应答.ToUInt16Value(),Msg0x0104 },
{JT808MsgId.查询终端属性应答.ToUInt16Value(),Msg0x0107 },
{JT808MsgId.终端升级结果通知.ToUInt16Value(),Msg0x0108 },
{JT808MsgId.位置信息查询应答.ToUInt16Value(),Msg0x0201 },
{JT808MsgId.链路检测.ToUInt16Value(),Msg0x8204 },
{JT808MsgId.车辆控制应答.ToUInt16Value(),Msg0x0500 },
{JT808MsgId.摄像头立即拍摄命令.ToUInt16Value(),Msg0x8801 },
{JT808MsgId.多媒体数据上传.ToUInt16Value(),Msg0x0801 },
{JT808MsgId.多媒体事件信息上传.ToUInt16Value(),Msg0x0800 },
{JT808MsgId.CAN总线数据上传.ToUInt16Value(),Msg0x0705 },
};
}

@@ -49,6 +60,17 @@ namespace JT808.Gateway.Abstractions
}
}

/// <summary>
/// 终端通用应答
/// 平台无需回复
/// 实现自己的业务
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0001(JT808HeaderPackage request, IJT808Session session)
{
return default;
}
/// <summary>
/// 平台通用应答
/// </summary>
@@ -79,40 +101,56 @@ namespace JT808.Gateway.Abstractions
return data;
}
}

/// <summary>
/// 终端通用应答
/// 平台无需回复
/// 实现自己的业务
/// 终端心跳
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0001(JT808HeaderPackage request, IJT808Session session)
public virtual byte[] Msg0x0002(JT808HeaderPackage request, IJT808Session session)
{
return default;
return CommonReply(request, session);
}
/// <summary>
/// 终端心跳
/// 查询服务器时间
/// 2019版本
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0002(JT808HeaderPackage request, IJT808Session session)
public virtual byte[] Msg0x0004(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
byte[] data = JT808Serializer.Serialize(JT808MsgId.查询服务器时间应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8004()
{
Time=DateTime.Now
}));
session.SendAsync(data);
return data;
}
/// <summary>
/// 终端注销
/// 服务器补传分包请求
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0003(JT808HeaderPackage request, IJT808Session session)
public virtual byte[] Msg0x8003(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
throw new NotImplementedException("0x8003-服务器补传分包请求");
}
/// <summary>
/// 终端补传分包请求
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0005(JT808HeaderPackage request, IJT808Session session)
{
throw new NotImplementedException("0x0005-终端补传分包请求");
}
/// <summary>
/// 终端注册
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0100(JT808HeaderPackage request, IJT808Session session)
{
@@ -140,36 +178,151 @@ namespace JT808.Gateway.Abstractions
}
}
/// <summary>
/// 终端注销
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0003(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 终端鉴权
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0102(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 查询终端参数应答
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0104(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 查询终端属性应答
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0107(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 终端升级结果应答
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0108(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 位置信息汇报
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0200(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 位置信息查询应答
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0201(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 链路检测
/// 2019版本
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x8204(JT808HeaderPackage request, IJT808Session session)
{
return default;
}
/// <summary>
/// 车辆控制应答
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0500(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 定位数据批量上传
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0704(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// CAN总线数据上传
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0705(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 多媒体事件信息上传
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0800(JT808HeaderPackage request, IJT808Session session)
{
return CommonReply(request, session);
}
/// <summary>
/// 多媒体数据上传
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0801(JT808HeaderPackage request, IJT808Session session)
{
throw new NotImplementedException("0x8800多媒体数据上传应答");
}
/// <summary>
/// 摄像头立即拍摄命令
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x8801(JT808HeaderPackage request, IJT808Session session)
{
throw new NotImplementedException("0x0805摄像头立即拍摄命令应答");
}
/// <summary>
/// 数据上行透传
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0900(JT808HeaderPackage request, IJT808Session session)
{


+ 156
- 17
src/JT808.Gateway.Abstractions/JT808QueueReplyMessageHandler.cs 查看文件

@@ -29,7 +29,18 @@ namespace JT808.Gateway.Abstractions
{JT808MsgId.终端注册.ToUInt16Value(), Msg0x0100},
{JT808MsgId.位置信息汇报.ToUInt16Value(),Msg0x0200 },
{JT808MsgId.定位数据批量上传.ToUInt16Value(),Msg0x0704 },
{JT808MsgId.数据上行透传.ToUInt16Value(),Msg0x0900 }
{JT808MsgId.数据上行透传.ToUInt16Value(),Msg0x0900 },
{JT808MsgId.查询服务器时间请求.ToUInt16Value(),Msg0x0004 },
{JT808MsgId.查询终端参数应答.ToUInt16Value(),Msg0x0104 },
{JT808MsgId.查询终端属性应答.ToUInt16Value(),Msg0x0107 },
{JT808MsgId.终端升级结果通知.ToUInt16Value(),Msg0x0108 },
{JT808MsgId.位置信息查询应答.ToUInt16Value(),Msg0x0201 },
{JT808MsgId.链路检测.ToUInt16Value(),Msg0x8204 },
{JT808MsgId.车辆控制应答.ToUInt16Value(),Msg0x0500 },
{JT808MsgId.摄像头立即拍摄命令.ToUInt16Value(),Msg0x8801 },
{JT808MsgId.多媒体数据上传.ToUInt16Value(),Msg0x0801 },
{JT808MsgId.多媒体事件信息上传.ToUInt16Value(),Msg0x0800 },
{JT808MsgId.CAN总线数据上传.ToUInt16Value(),Msg0x0705 },
};
}

@@ -46,6 +57,17 @@ namespace JT808.Gateway.Abstractions
}
}

/// <summary>
/// 终端通用应答
/// 平台无需回复
/// 实现自己的业务
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0001(JT808HeaderPackage request)
{
return default;
}
/// <summary>
/// 平台通用应答
/// </summary>
@@ -55,52 +77,66 @@ namespace JT808.Gateway.Abstractions
{
if (request.Version == JT808Version.JTT2019)
{
return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001()
byte[] data = JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create_平台通用应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8001()
{
AckMsgId = request.Header.MsgId,
JT808PlatformResult = JT808PlatformResult.成功,
MsgNum = request.Header.MsgNum
}));
return data;
}
else
{
return JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001()
byte[] data = JT808Serializer.Serialize(JT808MsgId.平台通用应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8001()
{
AckMsgId = request.Header.MsgId,
JT808PlatformResult = JT808PlatformResult.成功,
MsgNum = request.Header.MsgNum
}));
return data;
}
}

/// <summary>
/// 终端通用应答
/// 平台无需回复
/// 实现自己的业务
/// 终端心跳
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0001(JT808HeaderPackage request)
public virtual byte[] Msg0x0002(JT808HeaderPackage request)
{
return null;
return CommonReply(request);
}
/// <summary>
/// 终端心跳
/// 查询服务器时间
/// 2019版本
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0002(JT808HeaderPackage request)
public virtual byte[] Msg0x0004(JT808HeaderPackage request)
{
return CommonReply(request);
byte[] data = JT808Serializer.Serialize(JT808MsgId.查询服务器时间应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8004()
{
Time = DateTime.Now
}));
return data;
}
/// <summary>
/// 终端注销
/// 服务器补传分包请求
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0003(JT808HeaderPackage request)
public virtual byte[] Msg0x8003(JT808HeaderPackage request)
{
return CommonReply(request);
throw new NotImplementedException("0x8003-服务器补传分包请求");
}
/// <summary>
/// 终端补传分包请求
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0005(JT808HeaderPackage request)
{
throw new NotImplementedException("0x0005-终端补传分包请求");
}
/// <summary>
/// 终端注册
@@ -111,24 +147,35 @@ namespace JT808.Gateway.Abstractions
{
if (request.Version == JT808Version.JTT2019)
{
return JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create_终端注册应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8100()
byte[] data = JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create_终端注册应答_2019(request.Header.TerminalPhoneNo, new JT808_0x8100()
{
Code = "J" + request.Header.TerminalPhoneNo,
JT808TerminalRegisterResult = JT808TerminalRegisterResult.成功,
AckMsgNum = request.Header.MsgNum
}));
return data;
}
else
{
return JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8100()
byte[] data = JT808Serializer.Serialize(JT808MsgId.终端注册应答.Create(request.Header.TerminalPhoneNo, new JT808_0x8100()
{
Code = "J" + request.Header.TerminalPhoneNo,
JT808TerminalRegisterResult = JT808TerminalRegisterResult.成功,
AckMsgNum = request.Header.MsgNum
}));
return data;
}
}
/// <summary>
/// 终端注销
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0003(JT808HeaderPackage request)
{
return CommonReply(request);
}
/// <summary>
/// 终端鉴权
/// </summary>
/// <param name="request"></param>
@@ -138,15 +185,71 @@ namespace JT808.Gateway.Abstractions
return CommonReply(request);
}
/// <summary>
/// 查询终端参数应答
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0104(JT808HeaderPackage request)
{
return CommonReply(request);
}
/// <summary>
/// 查询终端属性应答
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0107(JT808HeaderPackage request)
{
return CommonReply(request);
}
/// <summary>
/// 终端升级结果应答
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0108(JT808HeaderPackage request)
{
return CommonReply(request);
}
/// <summary>
/// 位置信息汇报
/// </summary>
/// <param name="request"></param>
/// <param name="session"></param>
/// <returns></returns>
public virtual byte[] Msg0x0200(JT808HeaderPackage request)
{
return CommonReply(request);
}
/// <summary>
/// 位置信息查询应答
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0201(JT808HeaderPackage request)
{
return CommonReply(request);
}
/// <summary>
/// 链路检测
/// 2019版本
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x8204(JT808HeaderPackage request)
{
return default;
}
/// <summary>
/// 车辆控制应答
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0500(JT808HeaderPackage request)
{
return CommonReply(request);
}
/// <summary>
/// 定位数据批量上传
/// </summary>
/// <param name="request"></param>
@@ -156,6 +259,42 @@ namespace JT808.Gateway.Abstractions
return CommonReply(request);
}
/// <summary>
/// CAN总线数据上传
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0705(JT808HeaderPackage request)
{
return CommonReply(request);
}
/// <summary>
/// 多媒体事件信息上传
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0800(JT808HeaderPackage request)
{
return CommonReply(request);
}
/// <summary>
/// 多媒体数据上传
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x0801(JT808HeaderPackage request)
{
throw new NotImplementedException("0x8800多媒体数据上传应答");
}
/// <summary>
/// 摄像头立即拍摄命令
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] Msg0x8801(JT808HeaderPackage request)
{
throw new NotImplementedException("0x0805摄像头立即拍摄命令应答");
}
/// <summary>
/// 数据上行透传
/// </summary>
/// <param name="request"></param>


+ 11
- 1
src/JT808.Gateway.Abstractions/Protos/JT808Gateway.proto 查看文件

@@ -6,7 +6,11 @@ package JT808GatewayGrpc;

service JT808Gateway{
// 会话服务-获取会话服务集合
rpc GetTcpSessionAll(Empty) returns (TcpSessionInfoReply);
rpc GetTcpSessionAll(Empty) returns (TcpSessionInfoReply);
// 会话服务-获取会话总数
rpc GetTcpSessionCount(Empty) returns (SessionCountReply);
// 会话服务-通过设备终端号获取当前会话信息
rpc GetTcpSessionByTerminalPhoneNo(SessionRequest) returns (SessionInfo);
// 会话服务-通过设备终端号移除对应会话
rpc RemoveSessionByTerminalPhoneNo(SessionRemoveRequest) returns (SessionRemoveReply);
// 统一下发信息
@@ -24,6 +28,12 @@ message Empty{}
message TcpSessionInfoReply{
repeated SessionInfo TcpSessions=1;
}
message SessionRequest{
string TerminalPhoneNo=1;
}
message SessionCountReply{
int64 Count=1;
}
message UdpSessionInfoReply{
repeated SessionInfo UdpSessions=1;
}


+ 4
- 4
src/JT808.Gateway.Benchmark/JT808.Gateway.CleintBenchmark/JT808.Gateway.CleintBenchmark.csproj 查看文件

@@ -12,10 +12,10 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.2" />
<PackageReference Include="NLog.Extensions.Logging" Version="1.6.1" />
</ItemGroup>



+ 2
- 2
src/JT808.Gateway.Benchmark/JT808.Gateway.ServerBenchmark/JT808.Gateway.ServerBenchmark.csproj 查看文件

@@ -6,8 +6,8 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.2" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.9.10" />
<PackageReference Include="NLog.Extensions.Logging" Version="1.6.1" />
</ItemGroup>


+ 5
- 5
src/JT808.Gateway.Client/JT808.Gateway.Client.csproj 查看文件

@@ -22,13 +22,13 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JT808" Version="2.2.6" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="3.1.1" />
<PackageReference Include="JT808" Version="2.2.7" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="3.1.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="System.IO.Pipelines" Version="4.7.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.2" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\LICENSE" Pack="true" PackagePath="" />


+ 5
- 5
src/JT808.Gateway.Kafka/JT808.Gateway.Kafka.csproj 查看文件

@@ -21,11 +21,11 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Confluent.Kafka" Version="1.3.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Options" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Options" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.2" />
</ItemGroup>

<ItemGroup>


+ 1
- 1
src/JT808.Gateway.Services/JT808.Gateway.MsgLogging/JT808.Gateway.MsgLogging.csproj 查看文件

@@ -22,7 +22,7 @@
<PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.2" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\LICENSE" Pack="true" PackagePath="" />


+ 1
- 1
src/JT808.Gateway.Services/JT808.Gateway.ReplyMessage/JT808.Gateway.ReplyMessage.csproj 查看文件

@@ -21,7 +21,7 @@
<PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.2" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\LICENSE" Pack="true" PackagePath="" />


+ 1
- 1
src/JT808.Gateway.Services/JT808.Gateway.SessionNotice/JT808.Gateway.SessionNotice.csproj 查看文件

@@ -22,7 +22,7 @@
<PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.2" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\LICENSE" Pack="true" PackagePath="" />


+ 1
- 1
src/JT808.Gateway.Services/JT808.Gateway.Transmit/JT808.Gateway.Transmit.csproj 查看文件

@@ -22,7 +22,7 @@
<PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.2" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\LICENSE" Pack="true" PackagePath="" />


+ 2
- 2
src/JT808.Gateway.Tests/JT808.Gateway.NormalHosting/JT808.Gateway.NormalHosting.csproj 查看文件

@@ -7,8 +7,8 @@


<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.2" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.9.10" />
<PackageReference Include="NLog.Extensions.Logging" Version="1.6.1" />
</ItemGroup>


+ 2
- 2
src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/JT808.Gateway.QueueHosting.csproj 查看文件

@@ -6,8 +6,8 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.2" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.9.10" />
<PackageReference Include="NLog.Extensions.Logging" Version="1.6.1" />
</ItemGroup>


+ 12
- 3
src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/Program.cs 查看文件

@@ -7,6 +7,7 @@ using JT808.Protocol;
using Microsoft.Extensions.Configuration;
using NLog.Extensions.Logging;
using JT808.Gateway.MsgLogging;
using JT808.Gateway.ReplyMessage;
using JT808.Gateway.Transmit;
using JT808.Gateway.Traffic;
using JT808.Gateway.Abstractions;
@@ -40,8 +41,6 @@ namespace JT808.Gateway.QueueHosting
services.AddSingleton<ILoggerFactory, LoggerFactory>();
services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
services.AddJT808Configure()
//添加客户端工具
//.AddClient()
//.AddQueueGateway(options =>
//{
// options.TcpPort = 808;
@@ -54,11 +53,21 @@ namespace JT808.Gateway.QueueHosting
.AddTcp()
.AddUdp()
.AddGrpc()
.Builder()
//添加客户端工具
.AddClient()
//添加客户端服务
.AddClientKafka()
.AddMsgConsumer(hostContext.Configuration)
//添加消息应答服务
.AddMsgReplyProducer(hostContext.Configuration)
//添加消息应答处理
.AddReplyMessage()
;
//grpc客户端调用
//services.AddHostedService<CallGrpcClientJob>();
//客户端测试
//services.AddHostedService<UpJob>();
services.AddHostedService<UpJob>();
});

await serverHostBuilder.RunConsoleAsync();


+ 10
- 0
src/JT808.Gateway.Tests/JT808.Gateway.QueueHosting/appsettings.json 查看文件

@@ -15,6 +15,16 @@
"EnableAutoCommit": true,
"BootstrapServers": "127.0.0.1:9092"
},
"JT808MsgConsumerConfig": {
"TopicName": "JT808Msg",
"GroupId": "msg-group",
"EnableAutoCommit": true,
"BootstrapServers": "127.0.0.1:9092"
},
"JT808MsgReplyProducerConfig": {
"TopicName": "JT808MsgReply",
"BootstrapServers": "127.0.0.1:9092"
},
"JT808SessionProducerConfig": {
"TopicName": "JT808Session",
"BootstrapServers": "127.0.0.1:9092"


+ 2
- 2
src/JT808.Gateway.Tests/JT808.Gateway.Test/JT808.Gateway.Test.csproj 查看文件

@@ -7,8 +7,8 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.1.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.1.2" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="System.IO.Pipelines" Version="4.7.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">


+ 2
- 2
src/JT808.Gateway/JT808.Gateway.csproj 查看文件

@@ -21,8 +21,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Options" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.Options" Version="3.1.2" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.2" />
<PackageReference Include="System.IO.Pipelines" Version="4.7.0" />
</ItemGroup>



+ 4
- 0
src/JT808.Gateway/JT808TcpServer.cs 查看文件

@@ -249,6 +249,10 @@ namespace JT808.Gateway
}
}
}
catch (NotImplementedException ex)
{
Logger.LogError(ex.Message);
}
catch (JT808Exception ex)
{
AtomicCounterService.MsgFailIncrement();


+ 4
- 0
src/JT808.Gateway/JT808UdpServer.cs 查看文件

@@ -137,6 +137,10 @@ namespace JT808.Gateway
MsgProducer.ProduceAsync(package.Header.TerminalPhoneNo, package.OriginalData.ToArray());
}
}
catch (NotImplementedException ex)
{
Logger.LogError(ex.Message);
}
catch (JT808Exception ex)
{
AtomicCounterService.MsgFailIncrement();


+ 28
- 0
src/JT808.Gateway/Services/JT808GatewayService.cs 查看文件

@@ -60,6 +60,34 @@ namespace JT808.Gateway.Services
return Task.FromResult(reply);
}

public override Task<SessionInfo> GetTcpSessionByTerminalPhoneNo(SessionRequest request, ServerCallContext context)
{
Auth(context);
var result = jT808SessionManager.GetTcpAll().FirstOrDefault(f=>f.TerminalPhoneNo==request.TerminalPhoneNo);
SessionInfo sessionInfo = new SessionInfo();
if (result != null)
{
sessionInfo.LastActiveTime = result.ActiveTime.ToString("yyyy-MM-dd HH:mm:ss");
sessionInfo.StartTime = result.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
sessionInfo.RemoteAddressIP = result.RemoteEndPoint.ToString();
sessionInfo.TerminalPhoneNo = result.TerminalPhoneNo;
return Task.FromResult(sessionInfo);
}
else
{
throw new Grpc.Core.RpcException(new Status(StatusCode.FailedPrecondition, $"{request.TerminalPhoneNo} not exists"));
}
}

public override Task<SessionCountReply> GetTcpSessionCount(Empty request, ServerCallContext context)
{
Auth(context);
return Task.FromResult(new SessionCountReply
{
Count = jT808SessionManager.TcpSessionCount
});
}

public override Task<SessionRemoveReply> RemoveSessionByTerminalPhoneNo(SessionRemoveRequest request, ServerCallContext context)
{
Auth(context);


+ 1
- 1
src/Version.props 查看文件

@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<JT808DotNettyPackageVersion>2.3.1</JT808DotNettyPackageVersion>
<JT808GatewayPackageVersion>1.0.0-preview8</JT808GatewayPackageVersion>
<JT808GatewayPackageVersion>1.0.0-preview9</JT808GatewayPackageVersion>
</PropertyGroup>
</Project>

正在加载...
取消
保存