@@ -25,14 +25,6 @@ | |||||
 |  | ||||
## 基于Tcp的消息业务处理程序(JT808.DotNetty.Tcp) | |||||
通过继承JT808.DotNetty.Core.Handlers.JT808MsgIdTcpHandlerBase去实现自定义的消息业务处理程序。 | |||||
## 基于Udp的消息业务处理程序(JT808.DotNetty.Udp) | |||||
通过继承JT808.DotNetty.Core.Handlers.JT808MsgIdUdpHandlerBase去实现自定义的消息业务处理程序。 | |||||
## 基于WebApi的消息业务处理程序(JT808.DotNetty.WebApi) | ## 基于WebApi的消息业务处理程序(JT808.DotNetty.WebApi) | ||||
通过继承JT808.DotNetty.Core.Handlers.JT808MsgIdHttpHandlerBase去实现自定义的WebApi接口服务。 | 通过继承JT808.DotNetty.Core.Handlers.JT808MsgIdHttpHandlerBase去实现自定义的WebApi接口服务。 | ||||
@@ -44,9 +36,10 @@ | |||||
|接口名称|接口说明|使用场景| | |接口名称|接口说明|使用场景| | ||||
|:------:|:------|:------| | |:------:|:------|:------| | ||||
| IJT808SessionPublishing| 会话通知(在线/离线)| 有些超长待机的设备,不会实时保持连接,那么通过平台下发的命令是无法到达的,这时候就需要设备一上线,就即时通知服务去处理,然后在即时的下发消息到设备。| | | IJT808SessionPublishing| 会话通知(在线/离线)| 有些超长待机的设备,不会实时保持连接,那么通过平台下发的命令是无法到达的,这时候就需要设备一上线,就即时通知服务去处理,然后在即时的下发消息到设备。| | ||||
| IJT808SourcePackageDispatcher| 原包分发器| 需要将源数据转给其他平台| | |||||
| IJT808UplinkPacket| 上行数据包处理接口| 平台需要查看网关的上行数据日志(可以配合InfluxDB使用)| | |||||
| IJT808DownlinkPacket| 下行数据包处理接口| 平台需要查看网关的下行数据日志(可以配合InfluxDB使用)| | |||||
| IJT808MsgProducer| 数据生产接口| 网关将接收到的数据发送到队列| | |||||
| IJT808MsgConsumer| 数据消费接口| 将数据进行对应的消息业务处理(例:设备流量统计、第三方平台数据转发、消息日志等) | | |||||
| IJT808MsgReplyProducer| 应答数据生产接口|将生产的数据解析为对应的消息Id应答发送到队列 | | |||||
| IJT808MsgReplyConsumer| 应答数据消费接口| 将接收到的应答数据下发给设备| | |||||
> 只要实现IJT808SessionPublishing接口的任意一款MQ都能实现该功能。 | > 只要实现IJT808SessionPublishing接口的任意一款MQ都能实现该功能。 | ||||
@@ -56,12 +49,15 @@ | |||||
| Package Name | Version | Downloads | | | Package Name | Version | Downloads | | ||||
| --------------------- | -------------------------------------------------- | --------------------------------------------------- | | | --------------------- | -------------------------------------------------- | --------------------------------------------------- | | ||||
| Install-Package JT808.DotNetty.Core |  |  | | |||||
| Install-Package JT808.DotNetty.Abstractions |  |  | | | Install-Package JT808.DotNetty.Abstractions |  |  | | ||||
| Install-Package JT808.DotNetty.Core |  |  | | |||||
| Install-Package JT808.DotNetty.Tcp |  |  | | | Install-Package JT808.DotNetty.Tcp |  |  | | ||||
| Install-Package JT808.DotNetty.Udp |  |  | | | Install-Package JT808.DotNetty.Udp |  |  | | ||||
| Install-Package JT808.DotNetty.WebApi |  |  | | | Install-Package JT808.DotNetty.WebApi |  |  | | ||||
| Install-Package JT808.DotNetty.WebApiClientTool |  |  | | | Install-Package JT808.DotNetty.WebApiClientTool |  |  | | ||||
| Install-Package JT808.DotNetty.Client |  |  | | |||||
| Install-Package JT808.DotNetty.Kafka |  |  | | |||||
| Install-Package JT808.DotNetty.RabbitMQ |  |  | | |||||
## 举个栗子1 | ## 举个栗子1 | ||||
@@ -85,20 +81,10 @@ static async Task Main(string[] args) | |||||
services.AddSingleton(typeof(ILogger<>), typeof(Logger<>)); | services.AddSingleton(typeof(ILogger<>), typeof(Logger<>)); | ||||
services.AddJT808Configure() | services.AddJT808Configure() | ||||
.AddJT808NettyCore(hostContext.Configuration) | .AddJT808NettyCore(hostContext.Configuration) | ||||
//自定义日志下发包 | |||||
.ReplaceDownlinkPacket<JT808DownlinkPacketLogging>() | |||||
//自定义会话通知(在线/离线)使用异步方式 | //自定义会话通知(在线/离线)使用异步方式 | ||||
//.ReplaceSessionPublishing<CustomJT808SessionPublishing>() | //.ReplaceSessionPublishing<CustomJT808SessionPublishing>() | ||||
//自定义原包转发 使用异步方式 | |||||
//.ReplaceSourcePackageDispatcher<CustomJT808SourcePackageDispatcher> | |||||
.AddJT808TcpNettyHost() | .AddJT808TcpNettyHost() | ||||
// 自定义Tcp消息处理业务 | |||||
.ReplaceMsgIdHandler<JT808MsgIdTcpCustomHandler>() | |||||
.Builder() | |||||
.AddJT808UdpNettyHost() | .AddJT808UdpNettyHost() | ||||
// 自定义Udp消息处理业务 | |||||
.ReplaceMsgIdHandler<JT808MsgIdUdpCustomHandler>() | |||||
.Builder() | |||||
.AddJT808WebApiNettyHost() | .AddJT808WebApiNettyHost() | ||||
.Builder(); | .Builder(); | ||||
//webapi客户端调用 | //webapi客户端调用 | ||||
@@ -10,9 +10,7 @@ | |||||
## 1.统一下发设备消息服务 | ## 1.统一下发设备消息服务 | ||||
[基于Tcp统一下发设备消息服务](#tcp_send) | |||||
[基于Udp统一下发设备消息服务](#udp_send) | |||||
[统一下发设备消息服务](#send) | |||||
## 2.管理会话服务 | ## 2.管理会话服务 | ||||
@@ -20,56 +18,35 @@ | |||||
[基于Udp管理会话服务](#udp_session) | [基于Udp管理会话服务](#udp_session) | ||||
## 3.转发地址过滤服务 | |||||
[基于Tcp转发地址过滤服务](#tcp_transmit) | |||||
## 4.消息包计数服务(次日清零) | ## 4.消息包计数服务(次日清零) | ||||
[基于Tcp消息包计数服务](#tcp_counter) | [基于Tcp消息包计数服务](#tcp_counter) | ||||
[基于Udp消息包计数服务](#udp_counter) | [基于Udp消息包计数服务](#udp_counter) | ||||
## 5.流量统计服务(次日清零) | |||||
[基于Tcp流量统计服务](#tcp_traffic) | |||||
[基于Udp流量统计服务](#udp_traffic) | |||||
## 6.系统性能数据采集服务 | |||||
## 接口请求对照表 | |||||
[获取当前系统进程使用率](#system_collect) | |||||
### 公共接口请求 | |||||
## 接口请求对照表 | |||||
|请求Url|请求方式|说明| | |||||
|:------|:------|:------| | |||||
| 127.0.0.1:828/jt808api/UnificationSend| POST| 统一下发设备消息服务| | |||||
### 基于Tcp接口请求 | ### 基于Tcp接口请求 | ||||
|请求Url|请求方式|说明| | |请求Url|请求方式|说明| | ||||
|:------|:------|:------| | |:------|:------|:------| | ||||
| 127.0.0.1:828/jt808api/Tcp/UnificationSend| POST| 基于Tcp统一下发设备消息服务| | |||||
| 127.0.0.1:828/jt808api/Tcp/Session/GetAll| GET| 基于Tcp管理会话服务-获取会话集合| | | 127.0.0.1:828/jt808api/Tcp/Session/GetAll| GET| 基于Tcp管理会话服务-获取会话集合| | ||||
| 127.0.0.1:828/jt808api/Tcp/Session/RemoveByTerminalPhoneNo| POST| 基于Tcp管理会话服务-通过设备终端号移除对应会话| | | 127.0.0.1:828/jt808api/Tcp/Session/RemoveByTerminalPhoneNo| POST| 基于Tcp管理会话服务-通过设备终端号移除对应会话| | ||||
| 127.0.0.1:828/jt808api/Tcp/Transmit/Add| POST| 基于Tcp转发地址过滤服务-添加转发过滤地址| | |||||
| 127.0.0.1:828/jt808api/Tcp/Transmit/Remove| POST| 基于Tcp转发地址过滤服务-删除转发过滤地址| | |||||
| 127.0.0.1:828/jt808api/Tcp/Transmit/GetAll| GET| 基于Tcp转发地址过滤服务-获取转发过滤地址信息集合| | |||||
| 127.0.0.1:828/jt808api/Tcp/GetAtomicCounter| GET| 基于Tcp消息包计数服务| | | 127.0.0.1:828/jt808api/Tcp/GetAtomicCounter| GET| 基于Tcp消息包计数服务| | ||||
| 127.0.0.1:828/jt808api/Tcp/Traffic/Get| GET| 基于Tcp流量统计服务| | |||||
### 基于Udp接口请求 | ### 基于Udp接口请求 | ||||
|请求Url|请求方式|说明| | |请求Url|请求方式|说明| | ||||
|:------|:------|:------| | |:------|:------|:------| | ||||
| 127.0.0.1:828/jt808api/Udp/UnificationSend| POST| 基于Udp统一下发设备消息服务| | |||||
| 127.0.0.1:828/jt808api/Udp/Session/GetAll| GET| 基于Udp管理会话服务-获取会话集合| | | 127.0.0.1:828/jt808api/Udp/Session/GetAll| GET| 基于Udp管理会话服务-获取会话集合| | ||||
| 127.0.0.1:828/jt808api/Udp/Session/RemoveByTerminalPhoneNo| POST| 基于Udp管理会话服务-通过设备终端号移除对应会话| | | 127.0.0.1:828/jt808api/Udp/Session/RemoveByTerminalPhoneNo| POST| 基于Udp管理会话服务-通过设备终端号移除对应会话| | ||||
| 127.0.0.1:828/jt808api/Udp/GetAtomicCounter| GET| 基于Udp消息包计数服务| | | 127.0.0.1:828/jt808api/Udp/GetAtomicCounter| GET| 基于Udp消息包计数服务| | ||||
| 127.0.0.1:828/jt808api/Udp/Traffic/Get| GET| 基于Udp流量统计服务| | |||||
### 公共接口请求 | |||||
|请求Url|请求方式|说明| | |||||
|:------|:------|:------| | |||||
| 127.0.0.1:828/jt808api/SystemCollect/Get| GET| 获取当前系统进程使用情况| | |||||
### 统一对象返回 JT808ResultDto\<T> | ### 统一对象返回 JT808ResultDto\<T> | ||||
@@ -88,38 +65,9 @@ | |||||
| 404 | 没有该服务 | | | 404 | 没有该服务 | | ||||
| 500 | 服务内部错误 | | | 500 | 服务内部错误 | | ||||
### <span id="tcp_send">基于Tcp统一下发设备消息服务</span> | |||||
### <span id="send">基于Tcp统一下发设备消息服务</span> | |||||
请求地址:Tcp/UnificationSend | |||||
请求方式:POST | |||||
请求参数: | |||||
|属性|数据类型|参数说明| | |||||
|------|:------:|:------| | |||||
| TerminalPhoneNo| string| 设备终端号| | |||||
| Data| byte[]| JT808 byte[]数组| | |||||
返回数据: | |||||
|属性|数据类型|参数说明| | |||||
|:------:|:------:|:------| | |||||
| Data| bool| 是否成功| | |||||
返回结果: | |||||
``` result1 | |||||
{ | |||||
"Message":"", | |||||
"Code":200, | |||||
"Data":true | |||||
} | |||||
``` | |||||
### <span id="udp_send">基于Udp统一下发设备消息服务</span> | |||||
请求地址:Udp/UnificationSend | |||||
请求地址:/UnificationSend | |||||
请求方式:POST | 请求方式:POST | ||||
@@ -292,89 +240,6 @@ | |||||
} | } | ||||
``` | ``` | ||||
### <span id="tcp_transmit">基于Tcp转发地址过滤服务</span> | |||||
#### 1.添加转发过滤地址 | |||||
请求地址:Tcp/Transmit/Add | |||||
请求方式:POST | |||||
请求参数: | |||||
|属性|数据类型|参数说明| | |||||
|:------:|:------:|:------| | |||||
| Host| string| ip地址| | |||||
| Port| int| 端口号| | |||||
返回数据: | |||||
|属性|数据类型|参数说明| | |||||
|:------:|:------:|:------| | |||||
| Data| bool | 是否成功 | |||||
返回结果: | |||||
``` tr1 | |||||
{ | |||||
"Message":"", | |||||
"Code":200, | |||||
"Data":true | |||||
} | |||||
``` | |||||
#### 2.删除转发过滤地址(不能删除在网关服务器配置文件配的地址) | |||||
请求地址:Tcp/Transmit/Remove | |||||
请求方式:POST | |||||
请求参数: | |||||
|属性|数据类型|参数说明| | |||||
|:------:|:------:|:------| | |||||
| Host| string| ip地址| | |||||
返回数据: | |||||
|属性|数据类型|参数说明| | |||||
|:------:|:------:|:------| | |||||
| Data| bool | 是否成功| | |||||
返回结果: | |||||
``` tr2 | |||||
{ | |||||
"Message":"", | |||||
"Code":200, | |||||
"Data":true | |||||
} | |||||
``` | |||||
#### 3.获取转发过滤地址信息集合 | |||||
请求地址:Tcp/Transmit/GetAll | |||||
请求方式:GET | |||||
返回数据: | |||||
|属性|数据类型|参数说明| | |||||
|------|:------:|:------| | |||||
| Data| List\<string> | 远程ip地址(不加端口号)| | |||||
返回结果: | |||||
``` tr3 | |||||
{ | |||||
"Message":"", | |||||
"Code":200, | |||||
"Data":[ | |||||
"127.0.0.1" | |||||
] | |||||
} | |||||
``` | |||||
### <span id="tcp_counter">基于Tcp消息包计数服务</span> | ### <span id="tcp_counter">基于Tcp消息包计数服务</span> | ||||
请求地址:Tcp/GetAtomicCounter | 请求地址:Tcp/GetAtomicCounter | ||||
@@ -426,87 +291,3 @@ | |||||
} | } | ||||
} | } | ||||
``` | ``` | ||||
### <span id="tcp_traffic">基于Tcp流量统计服务</span> | |||||
请求地址:Tcp/Traffic/Get | |||||
请求方式:GET | |||||
返回数据: | |||||
|属性|数据类型|参数说明| | |||||
|------|:------:|:------| | |||||
| TotalReceiveSize| double| 总接收大小(单位KB)| | |||||
| TotalSendSize| double| 总发送大小(单位KB)| | |||||
返回结果: | |||||
``` traffic1 | |||||
{ | |||||
"Message":"", | |||||
"Code":200, | |||||
"Data":{ | |||||
"TotalReceiveSize":0.0478515625, | |||||
"TotalSendSize":0.01953125 | |||||
} | |||||
} | |||||
``` | |||||
### <span id="udp_traffic">基于Udp流量统计服务</span> | |||||
请求地址:Udp/Traffic/Get | |||||
请求方式:GET | |||||
返回数据: | |||||
|属性|数据类型|参数说明| | |||||
|------|:------:|:------| | |||||
| TotalReceiveSize| double| 总接收大小(单位KB)| | |||||
| TotalSendSize| double| 总发送大小(单位KB)| | |||||
返回结果: | |||||
``` traffic2 | |||||
{ | |||||
"Message":"", | |||||
"Code":200, | |||||
"Data":{ | |||||
"TotalReceiveSize":0.0478515625, | |||||
"TotalSendSize":0.01953125 | |||||
} | |||||
} | |||||
``` | |||||
### <span id="system_collect">系统性能数据采集服务</span> | |||||
请求地址:SystemCollect/Get | |||||
请求方式:GET | |||||
返回数据: | |||||
|属性|数据类型|参数说明| | |||||
|------|:------:|:------| | |||||
| ProcessId| int| 进程Id| | |||||
| WorkingSet64| double| 进程分配内存(单位MB)| | |||||
| PeakWorkingSet64| double| 进程分配内存峰值(单位MB)| | |||||
| PrivateMemorySize64| double| 进程分配私有内存(单位MB)| | |||||
| CPUTotalProcessorTime| TimeSpan|进程执行CPU总处理时间| | |||||
返回结果: | |||||
``` sc | |||||
{ | |||||
"Message":"", | |||||
"Code":200, | |||||
"Data":{ | |||||
"ProcessId":101412, | |||||
"WorkingSet64":73.0625, | |||||
"PeakWorkingSet64":73.0625, | |||||
"PrivateMemorySize64":134.6796875, | |||||
"CPUTotalProcessorTime":"00:00:14.5625000" | |||||
} | |||||
} | |||||
``` |