DH.NRemoting.Extensions 3.7.2024.828-beta0223

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.7.2024.828-beta0223                
NuGet\Install-Package DH.NRemoting.Extensions -Version 3.7.2024.828-beta0223                
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.7.2024.828-beta0223" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DH.NRemoting.Extensions --version 3.7.2024.828-beta0223                
#r "nuget: DH.NRemoting.Extensions, 3.7.2024.828-beta0223"                
#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.7.2024.828-beta0223&prerelease

// Install DH.NRemoting.Extensions as a Cake Tool
#tool nuget:?package=DH.NRemoting.Extensions&version=3.7.2024.828-beta0223&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. 
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 58 11/26/2024
4.0.2024.1123-beta0928 72 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 84 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 89 9/21/2024
3.9.2024.9210002 84 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 141 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 120 8/16/2024
3.6.2024.8150164 117 8/15/2024
3.6.2024.8140163 114 8/14/2024
3.6.2024.8140162 114 8/14/2024
3.6.2024.8140161 111 8/14/2024
3.6.2024.8130160 105 8/13/2024
3.6.2024.8130159 110 8/13/2024
3.6.2024.8130158 108 8/13/2024
3.6.2024.8130156 107 8/13/2024
3.6.2024.8130155 112 8/13/2024
3.6.2024.8120153 111 8/12/2024
3.6.2024.8120151 110 8/12/2024
3.6.2024.8110150 109 8/11/2024
3.6.2024.8100148 110 8/10/2024
3.6.2024.8100147 113 8/9/2024
3.6.2024.8090146 109 8/9/2024
3.6.2024.8090145 110 8/9/2024
3.6.2024.8080141 93 8/8/2024
3.6.2024.8070140 95 8/7/2024
3.6.2024.8070139 98 8/7/2024
3.6.2024.8070138 98 8/7/2024
3.6.2024.8050137 73 8/5/2024
3.6.2024.8050135 76 8/5/2024
3.6.2024.8040133 73 8/4/2024
3.6.2024.8030132 68 8/3/2024
3.6.2024.8020131 70 8/2/2024
3.6.2024.8010128 86 8/1/2024
3.6.2024.7310126 62 7/31/2024
3.6.2024.7300125 64 7/30/2024
3.6.2024.7290124 77 7/29/2024
3.6.2024.7270123 86 7/27/2024
3.6.2024.7260122 90 7/26/2024
3.6.2024.7240120 95 7/24/2024
3.6.2024.7230119 99 7/23/2024
3.6.2024.7220118 118 7/22/2024
3.6.2024.7220114 102 7/22/2024
3.6.2024.7220113 97 7/22/2024
3.6.2024.7190112 91 7/19/2024
3.6.2024.7190111 100 7/19/2024
3.6.2024.7180110 93 7/18/2024
3.6.2024.7170109 106 7/17/2024
3.6.2024.7160108 100 7/16/2024
3.6.2024.7160107 99 7/16/2024
3.6.2024.7150106 104 7/15/2024
3.6.2024.7150105 101 7/15/2024
3.6.2024.7130104 99 7/13/2024
3.6.2024.7130103 98 7/13/2024
3.6.2024.7120102 95 7/12/2024
3.6.2024.7110101 100 7/11/2024
3.6.2024.7100100 92 7/10/2024
3.6.2024.7090099 93 7/9/2024
3.6.2024.7090098 91 7/9/2024
3.6.2024.7090097 77 7/9/2024
3.6.2024.7090096 93 7/8/2024
3.6.2024.7080095 97 7/8/2024
3.6.2024.7080094 85 7/8/2024
3.6.2024.7080091 84 7/8/2024
3.6.2024.7050090 86 7/5/2024
3.6.2024.7040089 107 7/4/2024
3.6.2024.7030088 101 7/3/2024
3.6.2024.7020087 88 7/2/2024
3.6.2024.7020086 102 7/2/2024
3.6.2024.7010085 102 7/1/2024
3.6.2024.7010084 100 7/1/2024
3.6.2024.6290083 106 6/29/2024
3.6.2024.6280082 102 6/28/2024
3.6.2024.6270081 98 6/27/2024
3.6.2024.6260080 96 6/26/2024
3.6.2024.6250079 88 6/25/2024
3.6.2024.6250078 93 6/25/2024
3.6.2024.6250077 98 6/24/2024
3.6.2024.6240076 76 6/24/2024
3.6.2024.6240075 93 6/24/2024
3.6.2024.6200074 92 6/20/2024
3.6.2024.6190073 103 6/19/2024
3.6.2024.6180072 107 6/18/2024
3.6.2024.6170071 107 6/17/2024
3.6.2024.6150070 109 6/15/2024
3.6.2024.6140069 103 6/14/2024
3.6.2024.6130068 108 6/13/2024
3.6.2024.6130067 100 6/13/2024
3.6.2024.6120062 96 6/12/2024
3.6.2024.6120061 94 6/12/2024
3.6.2024.6110060 92 6/11/2024
3.6.2024.6090059 96 6/9/2024
3.6.2024.6060058 99 6/6/2024
3.6.2024.6050057 100 6/5/2024
3.6.2024.6040056 111 6/4/2024
3.6.2024.6030055 89 6/3/2024
3.6.2024.5310054 101 5/31/2024
3.6.2024.5300053 102 5/30/2024
3.6.2024.5290052 112 5/29/2024
3.6.2024.5290051 104 5/29/2024
3.6.2024.5280050 97 5/28/2024
3.6.2024.5270049 104 5/27/2024
3.6.2024.5250048 110 5/25/2024
3.6.2024.5250047 114 5/25/2024
3.6.2024.5240046 112 5/24/2024
3.6.2024.5240045 109 5/24/2024
3.6.2024.5240044 116 5/24/2024
3.6.2024.5240043 117 5/24/2024
3.6.2024.5230039 98 5/23/2024
3.6.2024.5230038 107 5/23/2024
3.6.2024.5230037 113 5/23/2024
3.6.2024.5220036 104 5/23/2024
3.6.2024.5220035 103 5/22/2024
3.6.2024.5220034 108 5/22/2024
3.6.2024.5210033 117 5/21/2024
3.6.2024.5210032 109 5/21/2024
3.6.2024.5200031 105 5/20/2024
3.6.2024.5170030 118 5/17/2024
3.6.2024.5160029 90 5/16/2024
3.6.2024.5160028 118 5/16/2024
3.6.2024.5150027 94 5/15/2024
3.6.2024.5140026 94 5/14/2024
3.6.2024.5130025 72 5/13/2024
3.6.2024.5130024 86 5/13/2024
3.6.2024.5110024 82 5/11/2024
3.6.2024.5110023 68 5/11/2024
3.6.2024.5110022 83 5/11/2024
3.6.2024.5100021 84 5/10/2024
3.6.2024.5100020 84 5/10/2024
3.6.2024.5090019 97 5/9/2024
3.6.2024.5080018 92 5/8/2024
3.6.2024.5080017 91 5/8/2024
3.6.2024.5070016 81 5/7/2024
3.0.2024.819-beta1233 88 8/19/2024

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