NewLife.Remoting 3.9.2026.801

dotnet add package NewLife.Remoting --version 3.9.2026.801
                    
NuGet\Install-Package NewLife.Remoting -Version 3.9.2026.801
                    
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="NewLife.Remoting" Version="3.9.2026.801" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NewLife.Remoting" Version="3.9.2026.801" />
                    
Directory.Packages.props
<PackageReference Include="NewLife.Remoting" />
                    
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 NewLife.Remoting --version 3.9.2026.801
                    
#r "nuget: NewLife.Remoting, 3.9.2026.801"
                    
#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.
#:package NewLife.Remoting@3.9.2026.801
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NewLife.Remoting&version=3.9.2026.801
                    
Install as a Cake Addin
#tool nuget:?package=NewLife.Remoting&version=3.9.2026.801
                    
Install as a Cake Tool

NewLife.Remoting — 统一远程通信框架 (RPC + HTTP + WebSocket + SRMP)

GitHub top language GitHub License Nuget Downloads Nuget Nuget (with prereleases)

Nuget Downloads Nuget Nuget (with prereleases)

NewLife.Remoting 是 NewLife 技术栈的统一远程通信基础设施,由两个 NuGet 包组成:

定位 覆盖
NewLife.Remoting 核心通信库 RPC 客户端/服务端、协议编解码、连接管理、流式调用、客户端基类、指令下发管线、自动更新
NewLife.Remoting.Extensions 扩展库 服务端控制器基类、设备管理服务、Token 鉴权、命令响应总线

源码:https://github.com/NewLifeX/NewLife.Remoting

NuGet:NewLife.Remoting / NewLife.Remoting.Extensions

文档索引

文档 说明
Doc/需求文档.md 需求定义:愿景、核心目标、功能需求(RPC/STRM/CLNT/UPGD/SRV/CMD)
Doc/架构设计.md 架构设计:分层概览、核心模块架构、内存管理、测试策略
Doc/SRV-服务端架构.md 服务端业务架构:服务层设计、核心业务流程(登录/注册/注销/心跳/升级/事件上报/指令下发)、在线会话生命周期、集群部署
Doc/功能清单.md 功能追踪:61 个功能点的实现/测试/注释状态
Doc/竞品分析.md 竞品分析:RPC 框架对比 + IoT 指令下发对比矩阵
Doc/SRMP.MD SRMP 协议规范
Doc/RPC内存管理设计.md 零拷贝内存管理
Doc/自动更新机制.md 自动更新全链路设计
Doc/重试策略.md 重试策略:IRetryPolicy 接口与指数退避示例

亮点

核心能力 说明
RPC 核心框架 SRMP 协议、JSON/二进制编解码、请求处理流水线、客户端/服务端、Cluster 连接管理、元数据传递、重试策略、服务端全链路异步化、TraceId 调用链追踪
STRM 流式调用 Server-Streaming:IAsyncEnumerable<T> 逐条推送,SRMP + SSE 双协议
CLNT 客户端基类 登录/心跳/升级/指令/事件一站式封装,WS/SSE 双通道自动切换
UPGD 自动更新 检测→下载→校验→解压→覆盖→重启全链路
SRV 服务端基础 ApiController/BaseController/BaseDeviceController、TokenService、IDeviceService
CMD 指令下发 SessionManager + 事件总线广播 + WS/SSE/Ping 多通道

快速开始

5 行服务端,5 行客户端,即刻跑通 RPC 调用:

// === 服务端 ===
var server = new ApiServer(12345);
server.Register<MyController>();
server.Start();

public class MyController : ApiController
{
    public String Ping(String name) => $"Hello {name}, {DateTime.Now:HH:mm:ss}";
    // 流式推送:返回 IAsyncEnumerable<T> 自动逐条下发
    public async IAsyncEnumerable<String> StreamLogs(Int32 count)
    {
        for (var i = 0; i < count; i++)
        {
            await Task.Delay(100);
            yield return $"Log #{i}: {DateTime.Now:HH:mm:ss}";
        }
    }
}

// === 客户端 ===
var client = new ApiClient("tcp://127.0.0.1:12345");
client.Open();

// 普通调用
var rs = await client.InvokeAsync<String>("My/Ping", new { name = "dev" });

// 流式调用 — 逐条接收服务端推送
await foreach (var log in client.InvokeStreamAsync<String>("My/StreamLogs", new { count = 10 }))
    Console.WriteLine(log);

// 元数据传递(自动注入 TraceId)
client.Headers["TenantId"] = "tenant-01";

性能指标

指标 典型值 实验峰值
TCP 长连接数 10,000 4,000,000
RPC 吞吐 100,000 TPS 22,660,000 TPS
单次 RPC 延迟 ~41 μs
框架兼容 net45 / net461 / netstandard2.0 / netstandard2.1 / net5.0 ~ net10.0

与其它 NewLife 组件协同

组件 协同价值
NewLife.Core 日志、配置、序列化、对象池、TimerX、性能追踪
NewLife.Net 高性能网络栈、WebSocket/编码器、端口复用
NewLife.Redis 分布式缓存 / 消息队列,扩展会话共享或推送 fanout
Stardust 节点注册、配置中心、APM、发布中心;可托管 ApiServer 节点
AntJob 使用 ClientBase 接入任务调度与分布式计算
NewLife.MQTT / Modbus / IoT 设备层协议采集后通过 Remoting 上行

贡献与反馈

欢迎:Bug 反馈 / 性能优化 PR / 新协议编解码 / 控制器示例 / 文档补充。 Issue 讨论请尽量提供:运行环境、目标框架、最小可复现代码、日志摘要。


新生命项目矩阵

各项目默认支持 net9.0/netstandard2.1/netstandard2.0/net4.62/net4.5,旧版(2024.0801)支持 net4.0/net2.0

项目 年份 说明
NewLife.Core 2002 核心库,日志、配置、缓存、网络、序列化、APM性能追踪
NewLife.XCode 2005 大数据中间件,单表百亿级,自动分表,读写分离
NewLife.Net 2005 网络库,2266万 tps / 百万连接
NewLife.Remoting 2011 本项目,双协议通信框架
NewLife.Cube 2010 快速开发平台,权限 / OAuth / SSO
NewLife.Agent 2008 服务安装 / 守护进程 / Systemd
NewLife.Zero 2020 项目脚手架模板集合
NewLife.Redis 2017 高性能 Redis 客户端/消息队列
NewLife.RocketMQ 2018 纯托管 RocketMQ 客户端
NewLife.MQTT 2019 物联网 MqttClient/MqttServer
NewLife.IoT 2022 IoT 通信标准模型库
NewLife.Modbus 2022 Modbus 协议族
NewLife.Siemens 2022 西门子 PLC 通信
NewLife.Map 2022 地图聚合组件
NewLife.Audio 2023 音频编解码
Stardust 2018 分布式服务平台 (注册/配置/APM/发布)
AntJob 2019 分布式大数据计算平台
等等 - 更多参见官网

团队与版权

XCode

新生命团队(NewLife)成立于 2002 年,80+ 开源项目,NuGet 累计下载 400+ 万。全部项目采用 MIT 协议,可自由修改再发行(无需声明来源)。
网站:https://newlifex.com
开源:https://github.com/NewLifeX
QQ群:1600800 / 1600838

新生命团队始于2002年,部分开源项目具有20年以上历史,源码库保留2010年以来全部记录。

微信公众号:
智能大石头


License

MIT © NewLife. 欢迎商用与二次开发。

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  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.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (8)

Showing the top 5 NuGet packages that depend on NewLife.Remoting:

Package Downloads
NewLife.Stardust

星尘分布式服务框架核心库。提供配置中心、注册中心、服务发现、全链路追踪、APM性能监控、日志中心等客户端SDK,支持配置拉取、服务注册与发现、调用追踪、性能和日志上报。

NewLife.MQTT

纯国产自主MQTT 3.1/3.1.1/5.0完整协议实现,MqttClient客户端与MqttServer服务端一体化。六种传输TCP/TLS/WebSocket/WSS/QUIC/UDP;内置集群、桥接、规则引擎、WebHook、ACL、$SYS等企业功能免费;零第三方依赖,MIT开源,信创合规

NewLife.Net

高性能网络通信框架,支持SRMP协议、单机千万级吞吐、百万级连接。提供NetServer/NetClient等通讯组件,可用于构建高可靠网络服务。

NewLife.AntJob

AntJob 分布式任务调度系统核心 SDK,提供高吞吐量的任务切片、可靠重试与弹性伸缩能力。

NewLife.Remoting.Extensions

提供设备接入控制器、令牌服务与会话管理扩展

GitHub repositories (7)

Showing the top 7 popular GitHub repositories that depend on NewLife.Remoting:

Repository Stars
NewLifeX/X
Core basic components: log (file / network), configuration (XML / JSON / HTTP), cache (memory / redis), network (TCP / UDP / HTTP), RPC framework, serialization (binary / XML / JSON), APM performance tracking. 核心基础组件,日志(文件/网络)、配置(XML/Json/Http)、缓存(内存/Redis)、网络(Tcp/Udp/Http)、RPC框架、序列化(Binary/XML/Json)、APM性能追踪。
NewLifeX/AntJob
高吞吐 .NET 分布式任务与实时数据调度平台:时间/数据/消息/Cron/SQL/脚本切片,自动重试与弹性扩缩,回溯补算 + Web 控制台。High‑throughput .NET distributed job & real‑time scheduler with fine‑grained slicing, retries, elastic scaling & web console.
NewLifeX/Stardust
星尘,轻量级分布式服务框架。配置中心、集群管理、远程自动发布、服务治理。服务自动注册和发现,负载均衡,动态伸缩,故障转移,性能监控。
NewLifeX/XCoder
新生命码神工具,代码生成、网络工具、API工具、串口工具、正则工具、图标工具、加解密工具、地图接口。
NewLifeX/NewLife.Net
单机吞吐2266万tps的网络通信框架
NewLifeX/NewLife.MQTT
最流行的物联网通信协议MQTT,包括客户端、服务端和Web管理平台
NewLifeX/NewLife.XCode
20 年演进的 .NET 高性能数据中间件,聚焦极致性能、海量数据、自动建模/迁移、多级缓存、自动分表分库,支持 MySQL/SQLite/SqlServer/Oracle/Postgresql/达梦 等
Version Downloads Last Updated
3.9.2026.801 789 8/1/2026
3.9.2026.801-beta1701 113 8/1/2026
3.8.2026.726-beta1405 186 7/26/2026
3.8.2026.723-beta1615 120 7/23/2026
3.8.2026.722-beta1157 111 7/22/2026
3.8.2026.720-beta1503 115 7/20/2026
3.8.2026.716-beta0416 621 7/16/2026
3.8.2026.714-beta1144 121 7/14/2026
3.8.2026.714-beta0020 127 7/14/2026
3.8.2026.706 1,116 7/6/2026
3.8.2026.706-beta0919 139 7/6/2026
3.7.2026.705-beta0241 131 7/5/2026
3.7.2026.608-beta1321 140 6/8/2026
3.7.2026.607-beta0438 131 6/7/2026
3.7.2026.606-beta1713 135 6/6/2026
3.7.2026.601 1,675 6/1/2026
3.7.2026.601-beta0657 139 6/1/2026
3.7.2026.524-beta0246 138 5/24/2026
3.7.2026.518-beta1101 134 5/18/2026
3.7.2026.501 2,971 5/1/2026
Loading failed

服务端请求处理全链路异步化,消除线程阻塞,提升高并发吞吐;新增 IAsyncApiHandler 标记接口,消除处理器路由反射;响应消息注入 TraceId,支持调用链追踪;节点在线与设备在线表新增登录时间字段;增强 WebSocket 心跳判死与会话管理机制;重构设备服务登录与在线持久化流程,统一长连接通知处理;优化 Headers 注入逻辑,避免数组/列表参数转换为字典导致数据丢失;修复客户端与通道代码缺陷,增强健壮性