DH.NRemoting.Extensions 4.0.2024.1204-beta0300

This is a prerelease version of DH.NRemoting.Extensions.
There is a newer version of this package available.
See the version list below for details.
dotnet add package DH.NRemoting.Extensions --version 4.0.2024.1204-beta0300
                    
NuGet\Install-Package DH.NRemoting.Extensions -Version 4.0.2024.1204-beta0300
                    
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="4.0.2024.1204-beta0300" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DH.NRemoting.Extensions" Version="4.0.2024.1204-beta0300" />
                    
Directory.Packages.props
<PackageReference Include="DH.NRemoting.Extensions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DH.NRemoting.Extensions --version 4.0.2024.1204-beta0300
                    
#r "nuget: DH.NRemoting.Extensions, 4.0.2024.1204-beta0300"
                    
#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.
#:package DH.NRemoting.Extensions@4.0.2024.1204-beta0300
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DH.NRemoting.Extensions&version=4.0.2024.1204-beta0300&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=DH.NRemoting.Extensions&version=4.0.2024.1204-beta0300&prerelease
                    
Install as a Cake Tool

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长连接。

各项目默认支持net9.0/netstandard2.1/netstandard2.0/net4.5

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.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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.16.2025.1113 266 11/13/2025
4.16.2025.1113-beta0626 257 11/13/2025
4.15.2025.1106-beta0416 188 11/6/2025
4.15.2025.1106-beta0354 173 11/6/2025
4.15.2025.1106-beta0345 168 11/6/2025
4.15.2025.1106-beta0343 181 11/6/2025
4.15.2025.1106-beta0341 177 11/6/2025
4.15.2025.1106-beta0339 178 11/6/2025
4.15.2025.1106-beta0335 173 11/6/2025
4.15.2025.1024-beta1315 121 10/24/2025
4.15.2025.1002-beta0316 169 10/2/2025
4.14.2025.926-beta1249 135 9/26/2025
4.14.2025.926-beta1245 130 9/26/2025
4.14.2025.926-beta1243 115 9/26/2025
4.14.2025.926-beta1241 127 9/26/2025
4.14.2025.926-beta1240 127 9/26/2025
4.14.2025.926-beta1237 125 9/26/2025
4.14.2025.926-beta1215 117 9/26/2025
4.14.2025.926-beta1211 125 9/26/2025
4.14.2025.926-beta1210 116 9/26/2025
4.14.2025.926-beta1209 125 9/26/2025
4.14.2025.926-beta1207 117 9/26/2025
4.14.2025.926-beta1201 126 9/26/2025
4.14.2025.926-beta1158 134 9/26/2025
4.14.2025.926-beta1157 126 9/26/2025
4.14.2025.903-beta1140 209 9/3/2025
4.14.2025.903-beta1139 178 9/3/2025
4.14.2025.903-beta1138 173 9/3/2025
4.14.2025.903-beta1137 169 9/3/2025
4.14.2025.903-beta1136 168 9/3/2025
4.14.2025.903-beta1134 171 9/3/2025
4.14.2025.903-beta1129 171 9/3/2025
4.14.2025.903-beta1127 186 9/3/2025
4.14.2025.903-beta1125 174 9/3/2025
4.14.2025.903-beta1124 173 9/3/2025
4.14.2025.903-beta1120 181 9/3/2025
4.14.2025.903-beta1118 175 9/3/2025
4.14.2025.903-beta1115 175 9/3/2025
4.14.2025.903-beta1113 175 9/3/2025
4.14.2025.903-beta1112 164 9/3/2025
4.14.2025.903-beta1111 171 9/3/2025
4.14.2025.903-beta1109 176 9/3/2025
4.14.2025.903-beta1108 171 9/3/2025
4.14.2025.903-beta1106 172 9/3/2025
4.14.2025.903-beta1056 174 9/3/2025
4.14.2025.903-beta1053 178 9/3/2025
4.14.2025.903-beta1048 175 9/3/2025
4.14.2025.903-beta1045 174 9/3/2025
4.14.2025.902-beta1250 164 9/2/2025
4.14.2025.902-beta1247 169 9/2/2025
4.14.2025.826-beta0653 235 8/26/2025
4.14.2025.826-beta0318 223 8/26/2025
4.14.2025.826-beta0317 202 8/26/2025
4.14.2025.818-beta0636 163 8/18/2025
4.14.2025.818-beta0634 205 8/18/2025
4.14.2025.818-beta0630 157 8/18/2025
4.14.2025.818-beta0625 160 8/18/2025
4.14.2025.818-beta0623 163 8/18/2025
4.14.2025.818-beta0620 165 8/18/2025
4.14.2025.818-beta0619 168 8/18/2025
4.14.2025.818-beta0618 163 8/18/2025
4.14.2025.818-beta0615 167 8/18/2025
4.14.2025.818-beta0408 164 8/18/2025
4.14.2025.818-beta0358 174 8/18/2025
4.14.2025.802 87 8/2/2025
4.14.2025.802-beta0135 75 8/2/2025
4.14.2025.802-beta0132 69 8/2/2025
4.13.2025.725-beta0543 466 7/25/2025
4.13.2025.719-beta0114 84 7/19/2025
4.13.2025.719-beta0113 80 7/19/2025
4.13.2025.719-beta0111 76 7/19/2025
4.13.2025.717-beta0817 172 7/17/2025
4.13.2025.717-beta0814 172 7/17/2025
4.13.2025.717-beta0812 169 7/17/2025
4.13.2025.717-beta0756 151 7/17/2025
4.13.2025.711-beta0229 166 7/11/2025
4.13.2025.701-beta0940 194 7/1/2025
4.12.2025.617-beta0915 241 6/17/2025
4.12.2025.617-beta0842 176 6/17/2025
4.12.2025.610-beta0735 311 6/10/2025
4.12.2025.610-beta0732 301 6/10/2025
4.12.2025.610-beta0731 305 6/10/2025
4.12.2025.530-beta0148 213 5/30/2025
4.12.2025.530-beta0147 164 5/30/2025
4.12.2025.530-beta0145 175 5/30/2025
4.12.2025.520-beta0258 189 5/20/2025
4.12.2025.520-beta0252 168 5/20/2025
4.12.2025.520-beta0249 180 5/20/2025
4.12.2025.514-beta0805 298 5/14/2025
4.12.2025.506 210 5/6/2025
4.12.2025.506-beta0829 177 5/6/2025
4.12.2025.506-beta0820 169 5/6/2025
4.12.2025.506-beta0813 175 5/6/2025
4.11.2025.428-beta0300 178 4/28/2025
4.11.2025.428-beta0213 182 4/28/2025
4.11.2025.428-beta0212 171 4/28/2025
4.11.2025.428-beta0210 180 4/28/2025
4.11.2025.428-beta0207 177 4/28/2025
4.11.2025.428-beta0206 172 4/28/2025
4.11.2025.423-beta1045 207 4/23/2025
4.11.2025.423-beta1035 193 4/23/2025
4.11.2025.423-beta0844 183 4/23/2025
4.11.2025.412 144 4/12/2025
4.11.2025.412-beta0954 131 4/12/2025
4.11.2025.314-beta1114 165 3/14/2025
4.11.2025.314-beta1111 153 3/14/2025
4.11.2025.303 157 3/3/2025
4.11.2025.303-beta0303 135 3/3/2025
4.0.2025.227-beta0724 178 2/27/2025
4.0.2025.227-beta0647 122 2/27/2025
4.0.2025.227-beta0637 124 2/27/2025
4.0.2025.227-beta0628 129 2/27/2025
4.0.2025.227-beta0426 135 2/27/2025
4.0.2025.222-beta0156 134 2/22/2025
4.0.2025.220-beta0408 137 2/20/2025
4.0.2025.220-beta0405 138 2/20/2025
4.0.2025.218-beta0927 125 2/18/2025
4.0.2025.211-beta0830 155 2/11/2025
4.0.2025.211-beta0823 127 2/11/2025
4.0.2025.211-beta0814 131 2/11/2025
4.0.2025.207-beta0706 138 2/7/2025
4.0.2025.207-beta0705 131 2/7/2025
4.0.2025.205-beta0548 147 2/5/2025
4.0.2025.115-beta0804 116 1/15/2025
4.0.2025.114-beta0159 102 1/14/2025
4.0.2025.110-beta0002 110 1/10/2025
4.0.2025.103 176 1/3/2025
4.0.2025.103-beta0318 132 1/3/2025
4.0.2025.103-beta0316 134 1/3/2025
4.0.2024.1231-beta0923 125 12/31/2024
4.0.2024.1218-beta1143 184 12/18/2024
4.0.2024.1213-beta0957 184 12/13/2024
4.0.2024.1209-beta0236 130 12/9/2024
4.0.2024.1206-beta0108 136 12/6/2024
4.0.2024.1204-beta0300 146 12/4/2024
4.0.2024.1201-beta0321 117 12/1/2024
4.0.2024.1126-beta0219 126 11/26/2024
4.0.2024.1123-beta0928 143 11/23/2024
4.0.2024.1119-beta0628 151 11/19/2024
4.0.2024.1119-beta0624 129 11/19/2024
4.0.2024.1119-beta0621 130 11/19/2024
4.0.2024.1113-beta0622 148 11/13/2024
3.91.2024.1112-beta0826 128 11/12/2024
3.91.2024.1109-beta0233 147 11/9/2024
3.91.2024.1104-beta0322 124 11/4/2024
3.91.2024.1104-beta0304 119 11/4/2024
3.91.2024.1104-beta0258 118 11/4/2024
3.91.2024.1101-beta0219 122 11/1/2024
3.91.2024.1101-beta0216 108 11/1/2024
3.91.2024.1031 146 10/31/2024
3.91.2024.1031-beta1030 118 10/31/2024
3.91.2024.1024-beta0802 128 10/24/2024
3.91.2024.1016-beta0106 111 10/16/2024
3.91.2024.1014-beta0111 136 10/14/2024
3.91.2024.1013-beta0821 133 10/13/2024
3.91.2024.1012-beta0242 121 10/12/2024
3.91.2024.1012-beta0240 117 10/12/2024
3.91.2024.1011-beta0145 141 10/11/2024
3.91.2024.1008-beta0825 157 10/8/2024
3.91.2024.1008-beta0243 161 10/8/2024
3.91.2024.925-beta0639 136 9/25/2024
3.91.2024.923-beta0253 140 9/23/2024
3.9.2024.9210003 156 9/21/2024
3.9.2024.9210002 151 9/21/2024
3.7.2024.923-beta0208 126 9/23/2024
3.7.2024.920-beta0123 145 9/20/2024
3.7.2024.918-beta0823 157 9/18/2024
3.7.2024.918-beta0813 132 9/18/2024
3.7.2024.918-beta0811 140 9/18/2024
3.7.2024.918-beta0806 131 9/18/2024
3.7.2024.913-beta0617 149 9/13/2024
3.7.2024.911-beta1205 162 9/11/2024
3.7.2024.907-beta0129 162 9/7/2024
3.7.2024.903-beta0222 147 9/3/2024
3.7.2024.828-beta0223 166 8/28/2024
3.7.2024.826-beta0156 167 8/26/2024
3.7.2024.820 197 8/20/2024
3.7.2024.820-beta0352 180 8/20/2024
3.7.2024.819-beta1413 172 8/19/2024
3.6.2024.8160165 174 8/16/2024
3.6.2024.8150164 169 8/15/2024
3.6.2024.8140163 181 8/14/2024
3.6.2024.8140162 175 8/14/2024
3.6.2024.8140161 168 8/14/2024
3.6.2024.8130160 165 8/13/2024
3.6.2024.8130159 168 8/13/2024
3.6.2024.8130158 163 8/13/2024
3.6.2024.8130156 176 8/13/2024
3.6.2024.8130155 171 8/13/2024
3.6.2024.8120153 166 8/12/2024
3.6.2024.8120151 169 8/12/2024
3.6.2024.8110150 169 8/11/2024
3.6.2024.8100148 170 8/10/2024
3.6.2024.8100147 155 8/9/2024
3.6.2024.8090146 163 8/9/2024
3.6.2024.8090145 171 8/9/2024
3.6.2024.8080141 151 8/8/2024
3.6.2024.8070140 155 8/7/2024
3.6.2024.8070139 149 8/7/2024
3.6.2024.8070138 159 8/7/2024
3.6.2024.8050137 130 8/5/2024
3.6.2024.8050135 132 8/5/2024
3.6.2024.8040134 143 12/13/2024
3.6.2024.8040133 134 8/4/2024
3.6.2024.8030132 123 8/3/2024
3.6.2024.8020131 128 8/2/2024
3.6.2024.8010128 147 8/1/2024
3.6.2024.7310126 118 7/31/2024
3.6.2024.7300125 109 7/30/2024
3.6.2024.7290124 136 7/29/2024
3.6.2024.7270123 143 7/27/2024
3.6.2024.7260122 146 7/26/2024
3.6.2024.7240120 158 7/24/2024
3.6.2024.7230119 161 7/23/2024
3.6.2024.7220118 177 7/22/2024
3.6.2024.7220114 161 7/22/2024
3.6.2024.7220113 157 7/22/2024
3.6.2024.7190112 151 7/19/2024
3.6.2024.7190111 168 7/19/2024
3.6.2024.7180110 155 7/18/2024
3.6.2024.7170109 167 7/17/2024
3.6.2024.7160108 160 7/16/2024
3.6.2024.7160107 160 7/16/2024
3.6.2024.7150106 162 7/15/2024
3.6.2024.7150105 159 7/15/2024
3.6.2024.7130104 160 7/13/2024
3.6.2024.7130103 154 7/13/2024
3.6.2024.7120102 158 7/12/2024
3.6.2024.7110101 156 7/11/2024
3.6.2024.7100100 155 7/10/2024
3.6.2024.7090099 157 7/9/2024
3.6.2024.7090098 151 7/9/2024
3.6.2024.7090097 133 7/9/2024
3.6.2024.7090096 152 7/8/2024
3.6.2024.7080095 160 7/8/2024
3.6.2024.7080094 146 7/8/2024
3.6.2024.7080091 150 7/8/2024
3.6.2024.7050090 143 7/5/2024
3.6.2024.7040089 174 7/4/2024
3.6.2024.7030088 164 7/3/2024
3.6.2024.7020087 149 7/2/2024
3.6.2024.7020086 163 7/2/2024
3.6.2024.7010085 160 7/1/2024
3.6.2024.7010084 158 7/1/2024
3.6.2024.6290083 167 6/29/2024
3.6.2024.6280082 160 6/28/2024
3.6.2024.6270081 159 6/27/2024
3.6.2024.6260080 151 6/26/2024
3.6.2024.6250079 143 6/25/2024
3.6.2024.6250078 145 6/25/2024
3.6.2024.6250077 159 6/24/2024
3.6.2024.6240076 138 6/24/2024
3.6.2024.6240075 158 6/24/2024
3.6.2024.6200074 159 6/20/2024
3.6.2024.6190073 164 6/19/2024
3.6.2024.6180072 162 6/18/2024
3.6.2024.6170071 167 6/17/2024
3.6.2024.6150070 170 6/15/2024
3.6.2024.6140069 158 6/14/2024
3.6.2024.6130068 166 6/13/2024
3.6.2024.6130067 160 6/13/2024
3.6.2024.6120062 153 6/12/2024
3.6.2024.6120061 148 6/12/2024
3.6.2024.6110060 152 6/11/2024
3.6.2024.6090059 157 6/9/2024
3.6.2024.6060058 159 6/6/2024
3.6.2024.6050057 159 6/5/2024
3.6.2024.6040056 173 6/4/2024
3.6.2024.6030055 152 6/3/2024
3.6.2024.5310054 162 5/31/2024
3.6.2024.5300053 166 5/30/2024
3.6.2024.5290052 171 5/29/2024
3.6.2024.5290051 166 5/29/2024
3.6.2024.5280050 156 5/28/2024
3.6.2024.5270049 154 5/27/2024
3.6.2024.5250048 168 5/25/2024
3.6.2024.5250047 174 5/25/2024
3.6.2024.5240046 177 5/24/2024
3.6.2024.5240045 172 5/24/2024
3.6.2024.5240044 176 5/24/2024
3.6.2024.5240043 177 5/24/2024
3.6.2024.5230039 157 5/23/2024
3.6.2024.5230038 170 5/23/2024
3.6.2024.5230037 174 5/23/2024
3.6.2024.5220036 161 5/23/2024
3.6.2024.5220035 168 5/22/2024
3.6.2024.5220034 170 5/22/2024
3.6.2024.5210033 173 5/21/2024
3.6.2024.5210032 169 5/21/2024
3.6.2024.5200031 159 5/20/2024
3.6.2024.5170030 175 5/17/2024
3.6.2024.5160029 136 5/16/2024
3.6.2024.5160028 183 5/16/2024
3.6.2024.5150027 155 5/15/2024
3.6.2024.5140026 143 5/14/2024
3.6.2024.5130025 124 5/13/2024
3.6.2024.5130024 146 5/13/2024
3.6.2024.5110024 144 5/11/2024
3.6.2024.5110023 130 5/11/2024
3.6.2024.5110022 141 5/11/2024
3.6.2024.5100021 142 5/10/2024
3.6.2024.5100020 153 5/10/2024
3.6.2024.5090019 148 5/9/2024
3.6.2024.5080018 151 5/8/2024
3.6.2024.5080017 149 5/8/2024
3.6.2024.5070016 143 5/7/2024
3.0.2024.819-beta1233 149 8/19/2024

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