DH.NRemoting.Extensions 4.12.2025.506

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

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