DH.NRemoting.Extensions 3.7.2024.907-beta0129

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

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