DH.NRemoting.Extensions 3.7.2024.903-beta0222

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.903-beta0222                
NuGet\Install-Package DH.NRemoting.Extensions -Version 3.7.2024.903-beta0222                
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.903-beta0222" />                
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.903-beta0222                
#r "nuget: DH.NRemoting.Extensions, 3.7.2024.903-beta0222"                
#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.903-beta0222&prerelease

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

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