DH.NRemoting.Extensions 4.0.2024.1126-beta0219

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.0.2024.1126-beta0219
                    
NuGet\Install-Package DH.NRemoting.Extensions -Version 4.0.2024.1126-beta0219
                    
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.0.2024.1126-beta0219" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DH.NRemoting.Extensions" Version="4.0.2024.1126-beta0219" />
                    
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.0.2024.1126-beta0219
                    
#r "nuget: DH.NRemoting.Extensions, 4.0.2024.1126-beta0219"
                    
#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.
#addin nuget:?package=DH.NRemoting.Extensions&version=4.0.2024.1126-beta0219&prerelease
                    
Install DH.NRemoting.Extensions as a Cake Addin
#tool nuget:?package=DH.NRemoting.Extensions&version=4.0.2024.1126-beta0219&prerelease
                    
Install DH.NRemoting.Extensions 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. 
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.11.2025.428-beta0300 120 4/28/2025
4.11.2025.428-beta0213 132 4/28/2025
4.11.2025.428-beta0212 118 4/28/2025
4.11.2025.428-beta0210 122 4/28/2025
4.11.2025.428-beta0207 122 4/28/2025
4.11.2025.428-beta0206 120 4/28/2025
4.11.2025.423-beta1045 157 4/23/2025
4.11.2025.423-beta1035 135 4/23/2025
4.11.2025.423-beta0844 132 4/23/2025
4.11.2025.412 90 4/12/2025
4.11.2025.412-beta0954 81 4/12/2025
4.11.2025.314-beta1114 118 3/14/2025
4.11.2025.314-beta1111 105 3/14/2025
4.11.2025.303 115 3/3/2025
4.11.2025.303-beta0303 84 3/3/2025
4.0.2025.227-beta0724 123 2/27/2025
4.0.2025.227-beta0647 75 2/27/2025
4.0.2025.227-beta0637 77 2/27/2025
4.0.2025.227-beta0628 79 2/27/2025
4.0.2025.227-beta0426 85 2/27/2025
4.0.2025.222-beta0156 85 2/22/2025
4.0.2025.220-beta0408 85 2/20/2025
4.0.2025.220-beta0405 85 2/20/2025
4.0.2025.218-beta0927 76 2/18/2025
4.0.2025.211-beta0830 108 2/11/2025
4.0.2025.211-beta0823 81 2/11/2025
4.0.2025.211-beta0814 87 2/11/2025
4.0.2025.207-beta0706 97 2/7/2025
4.0.2025.207-beta0705 83 2/7/2025
4.0.2025.205-beta0548 101 2/5/2025
4.0.2025.115-beta0804 69 1/15/2025
4.0.2025.114-beta0159 59 1/14/2025
4.0.2025.110-beta0002 63 1/10/2025
4.0.2025.103 129 1/3/2025
4.0.2025.103-beta0318 86 1/3/2025
4.0.2025.103-beta0316 84 1/3/2025
4.0.2024.1231-beta0923 65 12/31/2024
4.0.2024.1218-beta1143 136 12/18/2024
4.0.2024.1213-beta0957 138 12/13/2024
4.0.2024.1209-beta0236 85 12/9/2024
4.0.2024.1206-beta0108 88 12/6/2024
4.0.2024.1204-beta0300 97 12/4/2024
4.0.2024.1201-beta0321 74 12/1/2024
4.0.2024.1126-beta0219 78 11/26/2024
4.0.2024.1123-beta0928 92 11/23/2024
4.0.2024.1119-beta0628 106 11/19/2024
4.0.2024.1119-beta0624 74 11/19/2024
4.0.2024.1119-beta0621 82 11/19/2024
4.0.2024.1113-beta0622 96 11/13/2024
3.91.2024.1112-beta0826 78 11/12/2024
3.91.2024.1109-beta0233 92 11/9/2024
3.91.2024.1104-beta0322 78 11/4/2024
3.91.2024.1104-beta0304 71 11/4/2024
3.91.2024.1104-beta0258 71 11/4/2024
3.91.2024.1101-beta0219 78 11/1/2024
3.91.2024.1101-beta0216 72 11/1/2024
3.91.2024.1031 106 10/31/2024
3.91.2024.1031-beta1030 79 10/31/2024
3.91.2024.1024-beta0802 88 10/24/2024
3.91.2024.1016-beta0106 86 10/16/2024
3.91.2024.1014-beta0111 84 10/14/2024
3.91.2024.1013-beta0821 90 10/13/2024
3.91.2024.1012-beta0242 79 10/12/2024
3.91.2024.1012-beta0240 70 10/12/2024
3.91.2024.1011-beta0145 93 10/11/2024
3.91.2024.1008-beta0825 108 10/8/2024
3.91.2024.1008-beta0243 111 10/8/2024
3.91.2024.925-beta0639 83 9/25/2024
3.91.2024.923-beta0253 89 9/23/2024
3.9.2024.9210003 109 9/21/2024
3.9.2024.9210002 105 9/21/2024
3.7.2024.923-beta0208 82 9/23/2024
3.7.2024.920-beta0123 96 9/20/2024
3.7.2024.918-beta0823 105 9/18/2024
3.7.2024.918-beta0813 80 9/18/2024
3.7.2024.918-beta0811 79 9/18/2024
3.7.2024.918-beta0806 83 9/18/2024
3.7.2024.913-beta0617 99 9/13/2024
3.7.2024.911-beta1205 116 9/11/2024
3.7.2024.907-beta0129 116 9/7/2024
3.7.2024.903-beta0222 113 9/3/2024
3.7.2024.828-beta0223 119 8/28/2024
3.7.2024.826-beta0156 121 8/26/2024
3.7.2024.820 152 8/20/2024
3.7.2024.820-beta0352 134 8/20/2024
3.7.2024.819-beta1413 123 8/19/2024
3.6.2024.8160165 130 8/16/2024
3.6.2024.8150164 131 8/15/2024
3.6.2024.8140163 128 8/14/2024
3.6.2024.8140162 127 8/14/2024
3.6.2024.8140161 124 8/14/2024
3.6.2024.8130160 121 8/13/2024
3.6.2024.8130159 122 8/13/2024
3.6.2024.8130158 120 8/13/2024
3.6.2024.8130156 125 8/13/2024
3.6.2024.8130155 125 8/13/2024
3.6.2024.8120153 122 8/12/2024
3.6.2024.8120151 123 8/12/2024
3.6.2024.8110150 123 8/11/2024
3.6.2024.8100148 123 8/10/2024
3.6.2024.8100147 125 8/9/2024
3.6.2024.8090146 123 8/9/2024
3.6.2024.8090145 123 8/9/2024
3.6.2024.8080141 106 8/8/2024
3.6.2024.8070140 109 8/7/2024
3.6.2024.8070139 112 8/7/2024
3.6.2024.8070138 111 8/7/2024
3.6.2024.8050137 85 8/5/2024
3.6.2024.8050135 90 8/5/2024
3.6.2024.8040134 96 12/13/2024
3.6.2024.8040133 86 8/4/2024
3.6.2024.8030132 78 8/3/2024
3.6.2024.8020131 85 8/2/2024
3.6.2024.8010128 101 8/1/2024
3.6.2024.7310126 73 7/31/2024
3.6.2024.7300125 75 7/30/2024
3.6.2024.7290124 91 7/29/2024
3.6.2024.7270123 100 7/27/2024
3.6.2024.7260122 103 7/26/2024
3.6.2024.7240120 108 7/24/2024
3.6.2024.7230119 110 7/23/2024
3.6.2024.7220118 131 7/22/2024
3.6.2024.7220114 117 7/22/2024
3.6.2024.7220113 111 7/22/2024
3.6.2024.7190112 104 7/19/2024
3.6.2024.7190111 115 7/19/2024
3.6.2024.7180110 108 7/18/2024
3.6.2024.7170109 118 7/17/2024
3.6.2024.7160108 114 7/16/2024
3.6.2024.7160107 114 7/16/2024
3.6.2024.7150106 119 7/15/2024
3.6.2024.7150105 114 7/15/2024
3.6.2024.7130104 116 7/13/2024
3.6.2024.7130103 113 7/13/2024
3.6.2024.7120102 109 7/12/2024
3.6.2024.7110101 111 7/11/2024
3.6.2024.7100100 106 7/10/2024
3.6.2024.7090099 107 7/9/2024
3.6.2024.7090098 105 7/9/2024
3.6.2024.7090097 91 7/9/2024
3.6.2024.7090096 106 7/8/2024
3.6.2024.7080095 112 7/8/2024
3.6.2024.7080094 100 7/8/2024
3.6.2024.7080091 99 7/8/2024
3.6.2024.7050090 98 7/5/2024
3.6.2024.7040089 121 7/4/2024
3.6.2024.7030088 117 7/3/2024
3.6.2024.7020087 102 7/2/2024
3.6.2024.7020086 116 7/2/2024
3.6.2024.7010085 116 7/1/2024
3.6.2024.7010084 112 7/1/2024
3.6.2024.6290083 117 6/29/2024
3.6.2024.6280082 116 6/28/2024
3.6.2024.6270081 112 6/27/2024
3.6.2024.6260080 109 6/26/2024
3.6.2024.6250079 99 6/25/2024
3.6.2024.6250078 107 6/25/2024
3.6.2024.6250077 111 6/24/2024
3.6.2024.6240076 89 6/24/2024
3.6.2024.6240075 108 6/24/2024
3.6.2024.6200074 106 6/20/2024
3.6.2024.6190073 115 6/19/2024
3.6.2024.6180072 122 6/18/2024
3.6.2024.6170071 121 6/17/2024
3.6.2024.6150070 120 6/15/2024
3.6.2024.6140069 117 6/14/2024
3.6.2024.6130068 121 6/13/2024
3.6.2024.6130067 111 6/13/2024
3.6.2024.6120062 107 6/12/2024
3.6.2024.6120061 104 6/12/2024
3.6.2024.6110060 105 6/11/2024
3.6.2024.6090059 112 6/9/2024
3.6.2024.6060058 110 6/6/2024
3.6.2024.6050057 110 6/5/2024
3.6.2024.6040056 124 6/4/2024
3.6.2024.6030055 102 6/3/2024
3.6.2024.5310054 114 5/31/2024
3.6.2024.5300053 114 5/30/2024
3.6.2024.5290052 123 5/29/2024
3.6.2024.5290051 116 5/29/2024
3.6.2024.5280050 107 5/28/2024
3.6.2024.5270049 116 5/27/2024
3.6.2024.5250048 124 5/25/2024
3.6.2024.5250047 128 5/25/2024
3.6.2024.5240046 127 5/24/2024
3.6.2024.5240045 128 5/24/2024
3.6.2024.5240044 133 5/24/2024
3.6.2024.5240043 129 5/24/2024
3.6.2024.5230039 113 5/23/2024
3.6.2024.5230038 122 5/23/2024
3.6.2024.5230037 126 5/23/2024
3.6.2024.5220036 118 5/23/2024
3.6.2024.5220035 131 5/22/2024
3.6.2024.5220034 123 5/22/2024
3.6.2024.5210033 130 5/21/2024
3.6.2024.5210032 124 5/21/2024
3.6.2024.5200031 117 5/20/2024
3.6.2024.5170030 129 5/17/2024
3.6.2024.5160029 104 5/16/2024
3.6.2024.5160028 130 5/16/2024
3.6.2024.5150027 105 5/15/2024
3.6.2024.5140026 106 5/14/2024
3.6.2024.5130025 83 5/13/2024
3.6.2024.5130024 96 5/13/2024
3.6.2024.5110024 95 5/11/2024
3.6.2024.5110023 82 5/11/2024
3.6.2024.5110022 96 5/11/2024
3.6.2024.5100021 100 5/10/2024
3.6.2024.5100020 103 5/10/2024
3.6.2024.5090019 103 5/9/2024
3.6.2024.5080018 104 5/8/2024
3.6.2024.5080017 102 5/8/2024
3.6.2024.5070016 94 5/7/2024
3.0.2024.819-beta1233 95 8/19/2024

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