DH.NRemoting.Extensions 4.13.2025.719-beta0111

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

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