浏览代码

修改文档

tags/v2.2.0
smallchi 5 年前
父节点
当前提交
be0a9cb562
共有 2 个文件被更改,包括 16 次插入249 次删除
  1. +8
    -22
      README.md
  2. +8
    -227
      api/README.md

+ 8
- 22
README.md 查看文件

@@ -25,14 +25,6 @@


![design_model](https://github.com/SmallChi/JT808DotNetty/blob/master/doc/img/design_model.png) ![design_model](https://github.com/SmallChi/JT808DotNetty/blob/master/doc/img/design_model.png)


## 基于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 | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Core.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Core.svg) |
| Install-Package JT808.DotNetty.Abstractions | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Abstractions.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Abstractions.svg) | | Install-Package JT808.DotNetty.Abstractions | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Abstractions.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Abstractions.svg) |
| Install-Package JT808.DotNetty.Core | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Core.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Core.svg) |
| Install-Package JT808.DotNetty.Tcp | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Tcp.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Tcp.svg) | | Install-Package JT808.DotNetty.Tcp | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Tcp.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Tcp.svg) |
| Install-Package JT808.DotNetty.Udp | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Udp.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Udp.svg) | | Install-Package JT808.DotNetty.Udp | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Udp.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Udp.svg) |
| Install-Package JT808.DotNetty.WebApi | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.WebApi.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApi.svg) | | Install-Package JT808.DotNetty.WebApi | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.WebApi.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApi.svg) |
| Install-Package JT808.DotNetty.WebApiClientTool | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.WebApiClientTool.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApiClientTool.svg) | | Install-Package JT808.DotNetty.WebApiClientTool | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.WebApiClientTool.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApiClientTool.svg) |
| Install-Package JT808.DotNetty.Client | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Client.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Client.svg) |
| Install-Package JT808.DotNetty.Kafka | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Kafka.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Kafka.svg) |
| Install-Package JT808.DotNetty.RabbitMQ | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.RabbitMQ.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.RabbitMQ.svg) |


## 举个栗子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客户端调用


+ 8
- 227
api/README.md 查看文件

@@ -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"
}
}
```

正在加载...
取消
保存