DH.NRemoting.Extensions 3.91.2024.1008-beta0243

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 3.91.2024.1008-beta0243                
NuGet\Install-Package DH.NRemoting.Extensions -Version 3.91.2024.1008-beta0243                
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="3.91.2024.1008-beta0243" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DH.NRemoting.Extensions --version 3.91.2024.1008-beta0243                
#r "nuget: DH.NRemoting.Extensions, 3.91.2024.1008-beta0243"                
#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.
// Install DH.NRemoting.Extensions as a Cake Addin
#addin nuget:?package=DH.NRemoting.Extensions&version=3.91.2024.1008-beta0243&prerelease

// Install DH.NRemoting.Extensions as a Cake Tool
#tool nuget:?package=DH.NRemoting.Extensions&version=3.91.2024.1008-beta0243&prerelease                

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长连接。
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 was computed.  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.0.2025.103 77 1/3/2025
4.0.2025.103-beta0318 45 1/3/2025
4.0.2025.103-beta0316 43 1/3/2025
4.0.2024.1231-beta0923 52 12/31/2024
4.0.2024.1218-beta1143 120 12/18/2024
4.0.2024.1213-beta0957 115 12/13/2024
4.0.2024.1209-beta0236 73 12/9/2024
4.0.2024.1206-beta0108 79 12/6/2024
4.0.2024.1204-beta0300 85 12/4/2024
4.0.2024.1201-beta0321 64 12/1/2024
4.0.2024.1126-beta0219 68 11/26/2024
4.0.2024.1123-beta0928 79 11/23/2024
4.0.2024.1119-beta0628 99 11/19/2024
4.0.2024.1119-beta0624 64 11/19/2024
4.0.2024.1119-beta0621 73 11/19/2024
4.0.2024.1113-beta0622 87 11/13/2024
3.91.2024.1112-beta0826 69 11/12/2024
3.91.2024.1109-beta0233 81 11/9/2024
3.91.2024.1104-beta0322 67 11/4/2024
3.91.2024.1104-beta0304 61 11/4/2024
3.91.2024.1104-beta0258 61 11/4/2024
3.91.2024.1101-beta0219 69 11/1/2024
3.91.2024.1101-beta0216 65 11/1/2024
3.91.2024.1031 98 10/31/2024
3.91.2024.1031-beta1030 70 10/31/2024
3.91.2024.1024-beta0802 81 10/24/2024
3.91.2024.1016-beta0106 80 10/16/2024
3.91.2024.1014-beta0111 79 10/14/2024
3.91.2024.1013-beta0821 82 10/13/2024
3.91.2024.1012-beta0242 70 10/12/2024
3.91.2024.1012-beta0240 61 10/12/2024
3.91.2024.1011-beta0145 86 10/11/2024
3.91.2024.1008-beta0825 99 10/8/2024
3.91.2024.1008-beta0243 97 10/8/2024
3.91.2024.925-beta0639 78 9/25/2024
3.91.2024.923-beta0253 84 9/23/2024
3.9.2024.9210003 96 9/21/2024
3.9.2024.9210002 95 9/21/2024
3.7.2024.923-beta0208 72 9/23/2024
3.7.2024.920-beta0123 87 9/20/2024
3.7.2024.918-beta0823 100 9/18/2024
3.7.2024.918-beta0813 74 9/18/2024
3.7.2024.918-beta0811 74 9/18/2024
3.7.2024.918-beta0806 77 9/18/2024
3.7.2024.913-beta0617 96 9/13/2024
3.7.2024.911-beta1205 109 9/11/2024
3.7.2024.907-beta0129 107 9/7/2024
3.7.2024.903-beta0222 106 9/3/2024
3.7.2024.828-beta0223 116 8/28/2024
3.7.2024.826-beta0156 116 8/26/2024
3.7.2024.820 149 8/20/2024
3.7.2024.820-beta0352 131 8/20/2024
3.7.2024.819-beta1413 118 8/19/2024
3.6.2024.8160165 125 8/16/2024
3.6.2024.8150164 126 8/15/2024
3.6.2024.8140163 124 8/14/2024
3.6.2024.8140162 121 8/14/2024
3.6.2024.8140161 119 8/14/2024
3.6.2024.8130160 117 8/13/2024
3.6.2024.8130159 116 8/13/2024
3.6.2024.8130158 118 8/13/2024
3.6.2024.8130156 115 8/13/2024
3.6.2024.8130155 122 8/13/2024
3.6.2024.8120153 119 8/12/2024
3.6.2024.8120151 118 8/12/2024
3.6.2024.8110150 116 8/11/2024
3.6.2024.8100148 118 8/10/2024
3.6.2024.8100147 121 8/9/2024
3.6.2024.8090146 115 8/9/2024
3.6.2024.8090145 116 8/9/2024
3.6.2024.8080141 99 8/8/2024
3.6.2024.8070140 101 8/7/2024
3.6.2024.8070139 104 8/7/2024
3.6.2024.8070138 107 8/7/2024
3.6.2024.8050137 81 8/5/2024
3.6.2024.8050135 84 8/5/2024
3.6.2024.8040134 73 12/13/2024
3.6.2024.8040133 81 8/4/2024
3.6.2024.8030132 76 8/3/2024
3.6.2024.8020131 79 8/2/2024
3.6.2024.8010128 92 8/1/2024
3.6.2024.7310126 66 7/31/2024
3.6.2024.7300125 72 7/30/2024
3.6.2024.7290124 85 7/29/2024
3.6.2024.7270123 92 7/27/2024
3.6.2024.7260122 100 7/26/2024
3.6.2024.7240120 101 7/24/2024
3.6.2024.7230119 105 7/23/2024
3.6.2024.7220118 127 7/22/2024
3.6.2024.7220114 112 7/22/2024
3.6.2024.7220113 106 7/22/2024
3.6.2024.7190112 98 7/19/2024
3.6.2024.7190111 107 7/19/2024
3.6.2024.7180110 101 7/18/2024
3.6.2024.7170109 112 7/17/2024
3.6.2024.7160108 107 7/16/2024
3.6.2024.7160107 105 7/16/2024
3.6.2024.7150106 114 7/15/2024
3.6.2024.7150105 109 7/15/2024
3.6.2024.7130104 109 7/13/2024
3.6.2024.7130103 104 7/13/2024
3.6.2024.7120102 102 7/12/2024
3.6.2024.7110101 107 7/11/2024
3.6.2024.7100100 101 7/10/2024
3.6.2024.7090099 102 7/9/2024
3.6.2024.7090098 98 7/9/2024
3.6.2024.7090097 87 7/9/2024
3.6.2024.7090096 102 7/8/2024
3.6.2024.7080095 104 7/8/2024
3.6.2024.7080094 92 7/8/2024
3.6.2024.7080091 91 7/8/2024
3.6.2024.7050090 94 7/5/2024
3.6.2024.7040089 116 7/4/2024
3.6.2024.7030088 112 7/3/2024
3.6.2024.7020087 98 7/2/2024
3.6.2024.7020086 113 7/2/2024
3.6.2024.7010085 108 7/1/2024
3.6.2024.7010084 108 7/1/2024
3.6.2024.6290083 112 6/29/2024
3.6.2024.6280082 108 6/28/2024
3.6.2024.6270081 106 6/27/2024
3.6.2024.6260080 102 6/26/2024
3.6.2024.6250079 96 6/25/2024
3.6.2024.6250078 103 6/25/2024
3.6.2024.6250077 106 6/24/2024
3.6.2024.6240076 82 6/24/2024
3.6.2024.6240075 101 6/24/2024
3.6.2024.6200074 98 6/20/2024
3.6.2024.6190073 109 6/19/2024
3.6.2024.6180072 117 6/18/2024
3.6.2024.6170071 117 6/17/2024
3.6.2024.6150070 115 6/15/2024
3.6.2024.6140069 113 6/14/2024
3.6.2024.6130068 116 6/13/2024
3.6.2024.6130067 106 6/13/2024
3.6.2024.6120062 104 6/12/2024
3.6.2024.6120061 102 6/12/2024
3.6.2024.6110060 100 6/11/2024
3.6.2024.6090059 108 6/9/2024
3.6.2024.6060058 106 6/6/2024
3.6.2024.6050057 107 6/5/2024
3.6.2024.6040056 119 6/4/2024
3.6.2024.6030055 95 6/3/2024
3.6.2024.5310054 109 5/31/2024
3.6.2024.5300053 112 5/30/2024
3.6.2024.5290052 118 5/29/2024
3.6.2024.5290051 110 5/29/2024
3.6.2024.5280050 102 5/28/2024
3.6.2024.5270049 113 5/27/2024
3.6.2024.5250048 118 5/25/2024
3.6.2024.5250047 122 5/25/2024
3.6.2024.5240046 121 5/24/2024
3.6.2024.5240045 115 5/24/2024
3.6.2024.5240044 124 5/24/2024
3.6.2024.5240043 123 5/24/2024
3.6.2024.5230039 111 5/23/2024
3.6.2024.5230038 113 5/23/2024
3.6.2024.5230037 119 5/23/2024
3.6.2024.5220036 114 5/23/2024
3.6.2024.5220035 122 5/22/2024
3.6.2024.5220034 115 5/22/2024
3.6.2024.5210033 125 5/21/2024
3.6.2024.5210032 115 5/21/2024
3.6.2024.5200031 113 5/20/2024
3.6.2024.5170030 126 5/17/2024
3.6.2024.5160029 97 5/16/2024
3.6.2024.5160028 126 5/16/2024
3.6.2024.5150027 102 5/15/2024
3.6.2024.5140026 102 5/14/2024
3.6.2024.5130025 80 5/13/2024
3.6.2024.5130024 93 5/13/2024
3.6.2024.5110024 89 5/11/2024
3.6.2024.5110023 79 5/11/2024
3.6.2024.5110022 90 5/11/2024
3.6.2024.5100021 94 5/10/2024
3.6.2024.5100020 96 5/10/2024
3.6.2024.5090019 102 5/9/2024
3.6.2024.5080018 100 5/8/2024
3.6.2024.5080017 97 5/8/2024
3.6.2024.5070016 89 5/7/2024
3.0.2024.819-beta1233 92 8/19/2024

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