DH.NRemoting.Extensions 3.91.2024.1101-beta0219

This is a prerelease version of DH.NRemoting.Extensions.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package DH.NRemoting.Extensions --version 3.91.2024.1101-beta0219                
NuGet\Install-Package DH.NRemoting.Extensions -Version 3.91.2024.1101-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="3.91.2024.1101-beta0219" />                
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.1101-beta0219                
#r "nuget: DH.NRemoting.Extensions, 3.91.2024.1101-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.
// Install DH.NRemoting.Extensions as a Cake Addin
#addin nuget:?package=DH.NRemoting.Extensions&version=3.91.2024.1101-beta0219&prerelease

// Install DH.NRemoting.Extensions as a Cake Tool
#tool nuget:?package=DH.NRemoting.Extensions&version=3.91.2024.1101-beta0219&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 is compatible. 
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.2024.1126-beta0219 35 11/26/2024
4.0.2024.1123-beta0928 48 11/23/2024
4.0.2024.1119-beta0628 92 11/19/2024
4.0.2024.1119-beta0624 57 11/19/2024
4.0.2024.1119-beta0621 65 11/19/2024
4.0.2024.1113-beta0622 75 11/13/2024
3.91.2024.1112-beta0826 62 11/12/2024
3.91.2024.1109-beta0233 76 11/9/2024
3.91.2024.1104-beta0322 61 11/4/2024
3.91.2024.1104-beta0304 54 11/4/2024
3.91.2024.1104-beta0258 54 11/4/2024
3.91.2024.1101-beta0219 60 11/1/2024
3.91.2024.1101-beta0216 57 11/1/2024
3.91.2024.1031 82 10/31/2024
3.91.2024.1031-beta1030 63 10/31/2024
3.91.2024.1024-beta0802 71 10/24/2024
3.91.2024.1016-beta0106 72 10/16/2024
3.91.2024.1014-beta0111 73 10/14/2024
3.91.2024.1013-beta0821 76 10/13/2024
3.91.2024.1012-beta0242 64 10/12/2024
3.91.2024.1012-beta0240 58 10/12/2024
3.91.2024.1011-beta0145 80 10/11/2024
3.91.2024.1008-beta0825 86 10/8/2024
3.91.2024.1008-beta0243 91 10/8/2024
3.91.2024.925-beta0639 72 9/25/2024
3.91.2024.923-beta0253 78 9/23/2024
3.9.2024.9210003 87 9/21/2024
3.9.2024.9210002 82 9/21/2024
3.7.2024.923-beta0208 68 9/23/2024
3.7.2024.920-beta0123 79 9/20/2024
3.7.2024.918-beta0823 94 9/18/2024
3.7.2024.918-beta0813 65 9/18/2024
3.7.2024.918-beta0811 66 9/18/2024
3.7.2024.918-beta0806 71 9/18/2024
3.7.2024.913-beta0617 83 9/13/2024
3.7.2024.911-beta1205 102 9/11/2024
3.7.2024.907-beta0129 102 9/7/2024
3.7.2024.903-beta0222 101 9/3/2024
3.7.2024.828-beta0223 107 8/28/2024
3.7.2024.826-beta0156 112 8/26/2024
3.7.2024.820 139 8/20/2024
3.7.2024.820-beta0352 122 8/20/2024
3.7.2024.819-beta1413 112 8/19/2024
3.6.2024.8160165 118 8/16/2024
3.6.2024.8150164 115 8/15/2024
3.6.2024.8140163 112 8/14/2024
3.6.2024.8140162 112 8/14/2024
3.6.2024.8140161 109 8/14/2024
3.6.2024.8130160 103 8/13/2024
3.6.2024.8130159 108 8/13/2024
3.6.2024.8130158 106 8/13/2024
3.6.2024.8130156 105 8/13/2024
3.6.2024.8130155 110 8/13/2024
3.6.2024.8120153 109 8/12/2024
3.6.2024.8120151 108 8/12/2024
3.6.2024.8110150 107 8/11/2024
3.6.2024.8100148 108 8/10/2024
3.6.2024.8100147 111 8/9/2024
3.6.2024.8090146 107 8/9/2024
3.6.2024.8090145 108 8/9/2024
3.6.2024.8080141 91 8/8/2024
3.6.2024.8070140 93 8/7/2024
3.6.2024.8070139 96 8/7/2024
3.6.2024.8070138 96 8/7/2024
3.6.2024.8050137 71 8/5/2024
3.6.2024.8050135 74 8/5/2024
3.6.2024.8040133 71 8/4/2024
3.6.2024.8030132 66 8/3/2024
3.6.2024.8020131 68 8/2/2024
3.6.2024.8010128 84 8/1/2024
3.6.2024.7310126 60 7/31/2024
3.6.2024.7300125 62 7/30/2024
3.6.2024.7290124 75 7/29/2024
3.6.2024.7270123 84 7/27/2024
3.6.2024.7260122 88 7/26/2024
3.6.2024.7240120 93 7/24/2024
3.6.2024.7230119 97 7/23/2024
3.6.2024.7220118 116 7/22/2024
3.6.2024.7220114 100 7/22/2024
3.6.2024.7220113 95 7/22/2024
3.6.2024.7190112 89 7/19/2024
3.6.2024.7190111 98 7/19/2024
3.6.2024.7180110 91 7/18/2024
3.6.2024.7170109 104 7/17/2024
3.6.2024.7160108 98 7/16/2024
3.6.2024.7160107 97 7/16/2024
3.6.2024.7150106 102 7/15/2024
3.6.2024.7150105 99 7/15/2024
3.6.2024.7130104 97 7/13/2024
3.6.2024.7130103 96 7/13/2024
3.6.2024.7120102 93 7/12/2024
3.6.2024.7110101 98 7/11/2024
3.6.2024.7100100 90 7/10/2024
3.6.2024.7090099 91 7/9/2024
3.6.2024.7090098 89 7/9/2024
3.6.2024.7090097 75 7/9/2024
3.6.2024.7090096 91 7/8/2024
3.6.2024.7080095 95 7/8/2024
3.6.2024.7080094 83 7/8/2024
3.6.2024.7080091 82 7/8/2024
3.6.2024.7050090 84 7/5/2024
3.6.2024.7040089 105 7/4/2024
3.6.2024.7030088 99 7/3/2024
3.6.2024.7020087 86 7/2/2024
3.6.2024.7020086 100 7/2/2024
3.6.2024.7010085 99 7/1/2024
3.6.2024.7010084 97 7/1/2024
3.6.2024.6290083 103 6/29/2024
3.6.2024.6280082 99 6/28/2024
3.6.2024.6270081 95 6/27/2024
3.6.2024.6260080 94 6/26/2024
3.6.2024.6250079 86 6/25/2024
3.6.2024.6250078 91 6/25/2024
3.6.2024.6250077 96 6/24/2024
3.6.2024.6240076 74 6/24/2024
3.6.2024.6240075 91 6/24/2024
3.6.2024.6200074 90 6/20/2024
3.6.2024.6190073 101 6/19/2024
3.6.2024.6180072 105 6/18/2024
3.6.2024.6170071 105 6/17/2024
3.6.2024.6150070 107 6/15/2024
3.6.2024.6140069 101 6/14/2024
3.6.2024.6130068 106 6/13/2024
3.6.2024.6130067 98 6/13/2024
3.6.2024.6120062 94 6/12/2024
3.6.2024.6120061 92 6/12/2024
3.6.2024.6110060 90 6/11/2024
3.6.2024.6090059 94 6/9/2024
3.6.2024.6060058 97 6/6/2024
3.6.2024.6050057 98 6/5/2024
3.6.2024.6040056 109 6/4/2024
3.6.2024.6030055 87 6/3/2024
3.6.2024.5310054 99 5/31/2024
3.6.2024.5300053 100 5/30/2024
3.6.2024.5290052 110 5/29/2024
3.6.2024.5290051 102 5/29/2024
3.6.2024.5280050 95 5/28/2024
3.6.2024.5270049 102 5/27/2024
3.6.2024.5250048 108 5/25/2024
3.6.2024.5250047 112 5/25/2024
3.6.2024.5240046 110 5/24/2024
3.6.2024.5240045 107 5/24/2024
3.6.2024.5240044 114 5/24/2024
3.6.2024.5240043 115 5/24/2024
3.6.2024.5230039 96 5/23/2024
3.6.2024.5230038 105 5/23/2024
3.6.2024.5230037 111 5/23/2024
3.6.2024.5220036 102 5/23/2024
3.6.2024.5220035 101 5/22/2024
3.6.2024.5220034 106 5/22/2024
3.6.2024.5210033 115 5/21/2024
3.6.2024.5210032 107 5/21/2024
3.6.2024.5200031 103 5/20/2024
3.6.2024.5170030 116 5/17/2024
3.6.2024.5160029 88 5/16/2024
3.6.2024.5160028 116 5/16/2024
3.6.2024.5150027 92 5/15/2024
3.6.2024.5140026 92 5/14/2024
3.6.2024.5130025 70 5/13/2024
3.6.2024.5130024 84 5/13/2024
3.6.2024.5110024 80 5/11/2024
3.6.2024.5110023 66 5/11/2024
3.6.2024.5110022 81 5/11/2024
3.6.2024.5100021 82 5/10/2024
3.6.2024.5100020 82 5/10/2024
3.6.2024.5090019 95 5/9/2024
3.6.2024.5080018 90 5/8/2024
3.6.2024.5080017 89 5/8/2024
3.6.2024.5070016 79 5/7/2024
3.0.2024.819-beta1233 88 8/19/2024

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