DH.NRemoting.Extensions 4.12.2025.506-beta0829

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.12.2025.506-beta0829
                    
NuGet\Install-Package DH.NRemoting.Extensions -Version 4.12.2025.506-beta0829
                    
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.12.2025.506-beta0829" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DH.NRemoting.Extensions" Version="4.12.2025.506-beta0829" />
                    
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.12.2025.506-beta0829
                    
#r "nuget: DH.NRemoting.Extensions, 4.12.2025.506-beta0829"
                    
#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.12.2025.506-beta0829
                    
#: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.12.2025.506-beta0829&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=DH.NRemoting.Extensions&version=4.12.2025.506-beta0829&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.14.2025.826-beta0653 174 8/26/2025
4.14.2025.826-beta0318 173 8/26/2025
4.14.2025.826-beta0317 159 8/26/2025
4.14.2025.818-beta0636 120 8/18/2025
4.14.2025.818-beta0634 160 8/18/2025
4.14.2025.818-beta0630 114 8/18/2025
4.14.2025.818-beta0625 126 8/18/2025
4.14.2025.818-beta0623 120 8/18/2025
4.14.2025.818-beta0620 119 8/18/2025
4.14.2025.818-beta0619 120 8/18/2025
4.14.2025.818-beta0618 119 8/18/2025
4.14.2025.818-beta0615 120 8/18/2025
4.14.2025.818-beta0408 117 8/18/2025
4.14.2025.818-beta0358 119 8/18/2025
4.14.2025.802 43 8/2/2025
4.14.2025.802-beta0135 41 8/2/2025
4.14.2025.802-beta0132 39 8/2/2025
4.13.2025.725-beta0543 414 7/25/2025
4.13.2025.719-beta0114 28 7/19/2025
4.13.2025.719-beta0113 23 7/19/2025
4.13.2025.719-beta0111 20 7/19/2025
4.13.2025.717-beta0817 121 7/17/2025
4.13.2025.717-beta0814 114 7/17/2025
4.13.2025.717-beta0812 114 7/17/2025
4.13.2025.717-beta0756 110 7/17/2025
4.13.2025.711-beta0229 131 7/11/2025
4.13.2025.701-beta0940 155 7/1/2025
4.12.2025.617-beta0915 204 6/17/2025
4.12.2025.617-beta0842 138 6/17/2025
4.12.2025.610-beta0735 279 6/10/2025
4.12.2025.610-beta0732 269 6/10/2025
4.12.2025.610-beta0731 270 6/10/2025
4.12.2025.530-beta0148 179 5/30/2025
4.12.2025.530-beta0147 129 5/30/2025
4.12.2025.530-beta0145 140 5/30/2025
4.12.2025.520-beta0258 160 5/20/2025
4.12.2025.520-beta0252 138 5/20/2025
4.12.2025.520-beta0249 142 5/20/2025
4.12.2025.514-beta0805 264 5/14/2025
4.12.2025.506 179 5/6/2025
4.12.2025.506-beta0829 143 5/6/2025
4.12.2025.506-beta0820 135 5/6/2025
4.12.2025.506-beta0813 141 5/6/2025
4.11.2025.428-beta0300 144 4/28/2025
4.11.2025.428-beta0213 150 4/28/2025
4.11.2025.428-beta0212 138 4/28/2025
4.11.2025.428-beta0210 140 4/28/2025
4.11.2025.428-beta0207 143 4/28/2025
4.11.2025.428-beta0206 141 4/28/2025
4.11.2025.423-beta1045 175 4/23/2025
4.11.2025.423-beta1035 157 4/23/2025
4.11.2025.423-beta0844 151 4/23/2025
4.11.2025.412 111 4/12/2025
4.11.2025.412-beta0954 101 4/12/2025
4.11.2025.314-beta1114 134 3/14/2025
4.11.2025.314-beta1111 122 3/14/2025
4.11.2025.303 137 3/3/2025
4.11.2025.303-beta0303 105 3/3/2025
4.0.2025.227-beta0724 147 2/27/2025
4.0.2025.227-beta0647 90 2/27/2025
4.0.2025.227-beta0637 94 2/27/2025
4.0.2025.227-beta0628 97 2/27/2025
4.0.2025.227-beta0426 105 2/27/2025
4.0.2025.222-beta0156 104 2/22/2025
4.0.2025.220-beta0408 103 2/20/2025
4.0.2025.220-beta0405 104 2/20/2025
4.0.2025.218-beta0927 94 2/18/2025
4.0.2025.211-beta0830 128 2/11/2025
4.0.2025.211-beta0823 98 2/11/2025
4.0.2025.211-beta0814 101 2/11/2025
4.0.2025.207-beta0706 110 2/7/2025
4.0.2025.207-beta0705 103 2/7/2025
4.0.2025.205-beta0548 118 2/5/2025
4.0.2025.115-beta0804 87 1/15/2025
4.0.2025.114-beta0159 73 1/14/2025
4.0.2025.110-beta0002 83 1/10/2025
4.0.2025.103 145 1/3/2025
4.0.2025.103-beta0318 104 1/3/2025
4.0.2025.103-beta0316 106 1/3/2025
4.0.2024.1231-beta0923 89 12/31/2024
4.0.2024.1218-beta1143 153 12/18/2024
4.0.2024.1213-beta0957 158 12/13/2024
4.0.2024.1209-beta0236 104 12/9/2024
4.0.2024.1206-beta0108 109 12/6/2024
4.0.2024.1204-beta0300 117 12/4/2024
4.0.2024.1201-beta0321 91 12/1/2024
4.0.2024.1126-beta0219 97 11/26/2024
4.0.2024.1123-beta0928 113 11/23/2024
4.0.2024.1119-beta0628 124 11/19/2024
4.0.2024.1119-beta0624 95 11/19/2024
4.0.2024.1119-beta0621 100 11/19/2024
4.0.2024.1113-beta0622 117 11/13/2024
3.91.2024.1112-beta0826 96 11/12/2024
3.91.2024.1109-beta0233 116 11/9/2024
3.91.2024.1104-beta0322 94 11/4/2024
3.91.2024.1104-beta0304 90 11/4/2024
3.91.2024.1104-beta0258 90 11/4/2024
3.91.2024.1101-beta0219 95 11/1/2024
3.91.2024.1101-beta0216 91 11/1/2024
3.91.2024.1031 125 10/31/2024
3.91.2024.1031-beta1030 98 10/31/2024
3.91.2024.1024-beta0802 106 10/24/2024
3.91.2024.1016-beta0106 104 10/16/2024
3.91.2024.1014-beta0111 108 10/14/2024
3.91.2024.1013-beta0821 106 10/13/2024
3.91.2024.1012-beta0242 94 10/12/2024
3.91.2024.1012-beta0240 89 10/12/2024
3.91.2024.1011-beta0145 111 10/11/2024
3.91.2024.1008-beta0825 130 10/8/2024
3.91.2024.1008-beta0243 134 10/8/2024
3.91.2024.925-beta0639 108 9/25/2024
3.91.2024.923-beta0253 108 9/23/2024
3.9.2024.9210003 129 9/21/2024
3.9.2024.9210002 123 9/21/2024
3.7.2024.923-beta0208 102 9/23/2024
3.7.2024.920-beta0123 116 9/20/2024
3.7.2024.918-beta0823 125 9/18/2024
3.7.2024.918-beta0813 101 9/18/2024
3.7.2024.918-beta0811 110 9/18/2024
3.7.2024.918-beta0806 102 9/18/2024
3.7.2024.913-beta0617 121 9/13/2024
3.7.2024.911-beta1205 133 9/11/2024
3.7.2024.907-beta0129 133 9/7/2024
3.7.2024.903-beta0222 129 9/3/2024
3.7.2024.828-beta0223 138 8/28/2024
3.7.2024.826-beta0156 140 8/26/2024
3.7.2024.820 171 8/20/2024
3.7.2024.820-beta0352 154 8/20/2024
3.7.2024.819-beta1413 142 8/19/2024
3.6.2024.8160165 149 8/16/2024
3.6.2024.8150164 152 8/15/2024
3.6.2024.8140163 150 8/14/2024
3.6.2024.8140162 145 8/14/2024
3.6.2024.8140161 143 8/14/2024
3.6.2024.8130160 141 8/13/2024
3.6.2024.8130159 140 8/13/2024
3.6.2024.8130158 138 8/13/2024
3.6.2024.8130156 153 8/13/2024
3.6.2024.8130155 144 8/13/2024
3.6.2024.8120153 136 8/12/2024
3.6.2024.8120151 141 8/12/2024
3.6.2024.8110150 139 8/11/2024
3.6.2024.8100148 143 8/10/2024
3.6.2024.8100147 139 8/9/2024
3.6.2024.8090146 138 8/9/2024
3.6.2024.8090145 144 8/9/2024
3.6.2024.8080141 125 8/8/2024
3.6.2024.8070140 129 8/7/2024
3.6.2024.8070139 131 8/7/2024
3.6.2024.8070138 129 8/7/2024
3.6.2024.8050137 100 8/5/2024
3.6.2024.8050135 106 8/5/2024
3.6.2024.8040134 115 12/13/2024
3.6.2024.8040133 103 8/4/2024
3.6.2024.8030132 97 8/3/2024
3.6.2024.8020131 102 8/2/2024
3.6.2024.8010128 121 8/1/2024
3.6.2024.7310126 88 7/31/2024
3.6.2024.7300125 92 7/30/2024
3.6.2024.7290124 110 7/29/2024
3.6.2024.7270123 114 7/27/2024
3.6.2024.7260122 118 7/26/2024
3.6.2024.7240120 129 7/24/2024
3.6.2024.7230119 131 7/23/2024
3.6.2024.7220118 149 7/22/2024
3.6.2024.7220114 133 7/22/2024
3.6.2024.7220113 128 7/22/2024
3.6.2024.7190112 125 7/19/2024
3.6.2024.7190111 136 7/19/2024
3.6.2024.7180110 126 7/18/2024
3.6.2024.7170109 139 7/17/2024
3.6.2024.7160108 131 7/16/2024
3.6.2024.7160107 132 7/16/2024
3.6.2024.7150106 136 7/15/2024
3.6.2024.7150105 131 7/15/2024
3.6.2024.7130104 133 7/13/2024
3.6.2024.7130103 129 7/13/2024
3.6.2024.7120102 127 7/12/2024
3.6.2024.7110101 127 7/11/2024
3.6.2024.7100100 127 7/10/2024
3.6.2024.7090099 128 7/9/2024
3.6.2024.7090098 126 7/9/2024
3.6.2024.7090097 107 7/9/2024
3.6.2024.7090096 125 7/8/2024
3.6.2024.7080095 131 7/8/2024
3.6.2024.7080094 116 7/8/2024
3.6.2024.7080091 120 7/8/2024
3.6.2024.7050090 116 7/5/2024
3.6.2024.7040089 145 7/4/2024
3.6.2024.7030088 134 7/3/2024
3.6.2024.7020087 120 7/2/2024
3.6.2024.7020086 134 7/2/2024
3.6.2024.7010085 132 7/1/2024
3.6.2024.7010084 131 7/1/2024
3.6.2024.6290083 138 6/29/2024
3.6.2024.6280082 133 6/28/2024
3.6.2024.6270081 132 6/27/2024
3.6.2024.6260080 126 6/26/2024
3.6.2024.6250079 118 6/25/2024
3.6.2024.6250078 123 6/25/2024
3.6.2024.6250077 132 6/24/2024
3.6.2024.6240076 108 6/24/2024
3.6.2024.6240075 129 6/24/2024
3.6.2024.6200074 128 6/20/2024
3.6.2024.6190073 134 6/19/2024
3.6.2024.6180072 144 6/18/2024
3.6.2024.6170071 138 6/17/2024
3.6.2024.6150070 138 6/15/2024
3.6.2024.6140069 132 6/14/2024
3.6.2024.6130068 139 6/13/2024
3.6.2024.6130067 132 6/13/2024
3.6.2024.6120062 125 6/12/2024
3.6.2024.6120061 121 6/12/2024
3.6.2024.6110060 124 6/11/2024
3.6.2024.6090059 129 6/9/2024
3.6.2024.6060058 129 6/6/2024
3.6.2024.6050057 129 6/5/2024
3.6.2024.6040056 145 6/4/2024
3.6.2024.6030055 120 6/3/2024
3.6.2024.5310054 132 5/31/2024
3.6.2024.5300053 136 5/30/2024
3.6.2024.5290052 145 5/29/2024
3.6.2024.5290051 138 5/29/2024
3.6.2024.5280050 127 5/28/2024
3.6.2024.5270049 133 5/27/2024
3.6.2024.5250048 141 5/25/2024
3.6.2024.5250047 146 5/25/2024
3.6.2024.5240046 146 5/24/2024
3.6.2024.5240045 147 5/24/2024
3.6.2024.5240044 148 5/24/2024
3.6.2024.5240043 148 5/24/2024
3.6.2024.5230039 132 5/23/2024
3.6.2024.5230038 141 5/23/2024
3.6.2024.5230037 144 5/23/2024
3.6.2024.5220036 134 5/23/2024
3.6.2024.5220035 152 5/22/2024
3.6.2024.5220034 140 5/22/2024
3.6.2024.5210033 146 5/21/2024
3.6.2024.5210032 142 5/21/2024
3.6.2024.5200031 134 5/20/2024
3.6.2024.5170030 148 5/17/2024
3.6.2024.5160029 120 5/16/2024
3.6.2024.5160028 153 5/16/2024
3.6.2024.5150027 129 5/15/2024
3.6.2024.5140026 129 5/14/2024
3.6.2024.5130025 99 5/13/2024
3.6.2024.5130024 119 5/13/2024
3.6.2024.5110024 115 5/11/2024
3.6.2024.5110023 101 5/11/2024
3.6.2024.5110022 114 5/11/2024
3.6.2024.5100021 117 5/10/2024
3.6.2024.5100020 121 5/10/2024
3.6.2024.5090019 122 5/9/2024
3.6.2024.5080018 126 5/8/2024
3.6.2024.5080017 120 5/8/2024
3.6.2024.5070016 112 5/7/2024
3.0.2024.819-beta1233 116 8/19/2024

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