DH.NRemoting.Extensions 3.91.2024.1101-beta0216

This is a prerelease version of DH.NRemoting.Extensions.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package DH.NRemoting.Extensions --version 3.91.2024.1101-beta0216                
NuGet\Install-Package DH.NRemoting.Extensions -Version 3.91.2024.1101-beta0216                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DH.NRemoting.Extensions" Version="3.91.2024.1101-beta0216" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DH.NRemoting.Extensions --version 3.91.2024.1101-beta0216                
#r "nuget: DH.NRemoting.Extensions, 3.91.2024.1101-beta0216"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DH.NRemoting.Extensions as a Cake Addin
#addin nuget:?package=DH.NRemoting.Extensions&version=3.91.2024.1101-beta0216&prerelease

// Install DH.NRemoting.Extensions as a Cake Tool
#tool nuget:?package=DH.NRemoting.Extensions&version=3.91.2024.1101-beta0216&prerelease                

DH.NRemoting - 协议通信库

协议通信库,包含RPC架构和HTTP架构,提供客户端服务端通信的基础框架,内置SRMP协议实现,并支持实现各种自定义协议。

参考目录:

RPC架构

客户端:ApiClient

服务端:ApiServer

应用客户端:ClientBase

特点:

  1. 服务端根据Action把请求转发给各个Controller,用法跟WebApi一致。
  2. 简单高性能,通信报文使用二进制序列化,中间没有任何损耗
  3. 接口出入参支持灵活的Json序列化(常规接口),同时也支持高效的二进制序列化(图片视频)
  4. TCP/UDP长会话,支持服务端主动下发消息
  5. 典型连接数,单机1万TCP长连接,最高400万
  6. 典型吞吐数,单机10万TPS,最高2266万TPS
  7. 服务端可寄宿于控制台、Web项目、桌面应用、IoT嵌入式应用
  8. 支持集群部署横向扩展,每个客户端跟其中一个服务端维持长连接,所有请求落到该服务器

代表性应用(蚂蚁调度AntJob):

  1. 客户端AntClient继承自ClientBase,通过Tcp/Udp等协议连接服务端ApiServer,进行登录、心跳等操作。
  2. 客户端使用应用AppId和AppSecret登录,获得令牌,后续无需携带或验证令牌,直到令牌过期重新登录。

HTTP架构

客户端:ApiHttpClient

服务端:ASP.NET WebApi

应用客户端:ClientBase

应用服务端:BaseDeviceController

特点:

  1. 标准ASP.NET WebApi作为服务端,重用现有技术栈,包括接口测试和集群部署管理。
  2. 客户端ApiHttpClient是标准HttpClient的进一步封装,支持多服务端地址负载均衡。
  3. 默认通信使用Json序列化,不适合传输文件、图片和视频等二进制数据。
  4. 服务端提供BaseController基类,封装了令牌验证等鉴权机制
  5. 服务端提供BaseDeviceController基类,封装常见的登录、心跳和更新等接口
  6. 通过WebSocket长连接实现指令下发,心跳保活
  7. 典型连接数,单机1000并发连接
  8. 典型吞吐数,单机1万TPS
  9. 服务端仅寄宿于 Kestrel和IIS
  10. 支持集群部署横向扩展,客户端每次请求都可能分流到不同应用服务器

代表性应用(轻量级IoT平台ZeroIoT):

  1. 客户端HttpDevice继承自ClientBase,通过Http/Https协议连接服务端WebApi,进行登录、注销、心跳和更新等操作。
  2. 客户端使用设备DeviceCode和DeviceSecret登录,获得令牌,后续每次请求头都需要带上令牌。
  3. 在心跳时检测并维持WebSocket长连接。
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.2024.1113-beta0622 36 11/13/2024
3.91.2024.1112-beta0826 55 11/12/2024
3.91.2024.1109-beta0233 71 11/9/2024
3.91.2024.1104-beta0322 58 11/4/2024
3.91.2024.1104-beta0304 51 11/4/2024
3.91.2024.1104-beta0258 51 11/4/2024
3.91.2024.1101-beta0219 57 11/1/2024
3.91.2024.1101-beta0216 54 11/1/2024
3.91.2024.1031 75 10/31/2024
3.91.2024.1031-beta1030 60 10/31/2024
3.91.2024.1024-beta0802 68 10/24/2024
3.91.2024.1016-beta0106 69 10/16/2024
3.91.2024.1014-beta0111 70 10/14/2024
3.91.2024.1013-beta0821 73 10/13/2024
3.91.2024.1012-beta0242 61 10/12/2024
3.91.2024.1012-beta0240 55 10/12/2024
3.91.2024.1011-beta0145 77 10/11/2024
3.91.2024.1008-beta0825 83 10/8/2024
3.91.2024.1008-beta0243 88 10/8/2024
3.91.2024.925-beta0639 69 9/25/2024
3.91.2024.923-beta0253 75 9/23/2024
3.9.2024.9210003 84 9/21/2024
3.9.2024.9210002 79 9/21/2024
3.7.2024.923-beta0208 65 9/23/2024
3.7.2024.920-beta0123 76 9/20/2024
3.7.2024.918-beta0823 91 9/18/2024
3.7.2024.918-beta0813 62 9/18/2024
3.7.2024.918-beta0811 63 9/18/2024
3.7.2024.918-beta0806 68 9/18/2024
3.7.2024.913-beta0617 80 9/13/2024
3.7.2024.911-beta1205 99 9/11/2024
3.7.2024.907-beta0129 99 9/7/2024
3.7.2024.903-beta0222 98 9/3/2024
3.7.2024.828-beta0223 104 8/28/2024
3.7.2024.826-beta0156 109 8/26/2024
3.7.2024.820 136 8/20/2024
3.7.2024.820-beta0352 119 8/20/2024
3.7.2024.819-beta1413 109 8/19/2024
3.6.2024.8160165 115 8/16/2024
3.6.2024.8150164 112 8/15/2024
3.6.2024.8140163 109 8/14/2024
3.6.2024.8140162 109 8/14/2024
3.6.2024.8140161 106 8/14/2024
3.6.2024.8130160 100 8/13/2024
3.6.2024.8130159 105 8/13/2024
3.6.2024.8130158 103 8/13/2024
3.6.2024.8130156 102 8/13/2024
3.6.2024.8130155 107 8/13/2024
3.6.2024.8120153 106 8/12/2024
3.6.2024.8120151 105 8/12/2024
3.6.2024.8110150 104 8/11/2024
3.6.2024.8100148 105 8/10/2024
3.6.2024.8100147 108 8/9/2024
3.6.2024.8090146 104 8/9/2024
3.6.2024.8090145 105 8/9/2024
3.6.2024.8080141 88 8/8/2024
3.6.2024.8070140 90 8/7/2024
3.6.2024.8070139 93 8/7/2024
3.6.2024.8070138 93 8/7/2024
3.6.2024.8050137 68 8/5/2024
3.6.2024.8050135 71 8/5/2024
3.6.2024.8040133 68 8/4/2024
3.6.2024.8030132 63 8/3/2024
3.6.2024.8020131 65 8/2/2024
3.6.2024.8010128 81 8/1/2024
3.6.2024.7310126 57 7/31/2024
3.6.2024.7300125 59 7/30/2024
3.6.2024.7290124 72 7/29/2024
3.6.2024.7270123 81 7/27/2024
3.6.2024.7260122 85 7/26/2024
3.6.2024.7240120 90 7/24/2024
3.6.2024.7230119 94 7/23/2024
3.6.2024.7220118 113 7/22/2024
3.6.2024.7220114 97 7/22/2024
3.6.2024.7220113 92 7/22/2024
3.6.2024.7190112 86 7/19/2024
3.6.2024.7190111 95 7/19/2024
3.6.2024.7180110 88 7/18/2024
3.6.2024.7170109 101 7/17/2024
3.6.2024.7160108 95 7/16/2024
3.6.2024.7160107 94 7/16/2024
3.6.2024.7150106 99 7/15/2024
3.6.2024.7150105 96 7/15/2024
3.6.2024.7130104 94 7/13/2024
3.6.2024.7130103 93 7/13/2024
3.6.2024.7120102 90 7/12/2024
3.6.2024.7110101 95 7/11/2024
3.6.2024.7100100 87 7/10/2024
3.6.2024.7090099 88 7/9/2024
3.6.2024.7090098 86 7/9/2024
3.6.2024.7090097 72 7/9/2024
3.6.2024.7090096 88 7/8/2024
3.6.2024.7080095 92 7/8/2024
3.6.2024.7080094 80 7/8/2024
3.6.2024.7080091 79 7/8/2024
3.6.2024.7050090 81 7/5/2024
3.6.2024.7040089 102 7/4/2024
3.6.2024.7030088 96 7/3/2024
3.6.2024.7020087 83 7/2/2024
3.6.2024.7020086 97 7/2/2024
3.6.2024.7010085 96 7/1/2024
3.6.2024.7010084 94 7/1/2024
3.6.2024.6290083 100 6/29/2024
3.6.2024.6280082 96 6/28/2024
3.6.2024.6270081 92 6/27/2024
3.6.2024.6260080 90 6/26/2024
3.6.2024.6250079 82 6/25/2024
3.6.2024.6250078 87 6/25/2024
3.6.2024.6250077 92 6/24/2024
3.6.2024.6240076 70 6/24/2024
3.6.2024.6240075 88 6/24/2024
3.6.2024.6200074 87 6/20/2024
3.6.2024.6190073 98 6/19/2024
3.6.2024.6180072 102 6/18/2024
3.6.2024.6170071 102 6/17/2024
3.6.2024.6150070 104 6/15/2024
3.6.2024.6140069 98 6/14/2024
3.6.2024.6130068 103 6/13/2024
3.6.2024.6130067 95 6/13/2024
3.6.2024.6120062 91 6/12/2024
3.6.2024.6120061 89 6/12/2024
3.6.2024.6110060 87 6/11/2024
3.6.2024.6090059 91 6/9/2024
3.6.2024.6060058 94 6/6/2024
3.6.2024.6050057 95 6/5/2024
3.6.2024.6040056 106 6/4/2024
3.6.2024.6030055 84 6/3/2024
3.6.2024.5310054 96 5/31/2024
3.6.2024.5300053 97 5/30/2024
3.6.2024.5290052 107 5/29/2024
3.6.2024.5290051 99 5/29/2024
3.6.2024.5280050 92 5/28/2024
3.6.2024.5270049 99 5/27/2024
3.6.2024.5250048 105 5/25/2024
3.6.2024.5250047 109 5/25/2024
3.6.2024.5240046 107 5/24/2024
3.6.2024.5240045 104 5/24/2024
3.6.2024.5240044 111 5/24/2024
3.6.2024.5240043 112 5/24/2024
3.6.2024.5230039 93 5/23/2024
3.6.2024.5230038 102 5/23/2024
3.6.2024.5230037 108 5/23/2024
3.6.2024.5220036 99 5/23/2024
3.6.2024.5220035 98 5/22/2024
3.6.2024.5220034 103 5/22/2024
3.6.2024.5210033 112 5/21/2024
3.6.2024.5210032 104 5/21/2024
3.6.2024.5200031 100 5/20/2024
3.6.2024.5170030 113 5/17/2024
3.6.2024.5160029 85 5/16/2024
3.6.2024.5160028 113 5/16/2024
3.6.2024.5150027 89 5/15/2024
3.6.2024.5140026 89 5/14/2024
3.6.2024.5130025 67 5/13/2024
3.6.2024.5130024 81 5/13/2024
3.6.2024.5110024 77 5/11/2024
3.6.2024.5110023 63 5/11/2024
3.6.2024.5110022 78 5/11/2024
3.6.2024.5100021 79 5/10/2024
3.6.2024.5100020 79 5/10/2024
3.6.2024.5090019 92 5/9/2024
3.6.2024.5080018 87 5/8/2024
3.6.2024.5080017 86 5/8/2024
3.6.2024.5070016 76 5/7/2024
3.0.2024.819-beta1233 85 8/19/2024

第三代协议通信库,增强RPC,引入主流Http/WebSockt/WebApi应用级封装