DH.NRemoting.Extensions 4.13.2025.711-beta0229

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

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