DH.NRemoting.Extensions 4.0.2025.103-beta0318

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

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