CodeWF.EventBus.Socket
跨进程 TCP 事件总线(IPC)
面向 C# 进程间通信的轻量 TCP 事件总线:跨进程 Publish/Subscribe、同主题 Query/Response、按 TaskId 关联并发查询;零外部 MQ 依赖,替代 RabbitMQ/Kafka/Redis 的本地 IPC 方案。
net8.0net10.0net11.0 IPCTCP事件总线 开源免费
> dotnet add package CodeWF.EventBus.Socket
GitHub ↗ GitHub Star ★ 58
NuGet 下载 3.8k+
子包数量 1
为什么选它
Features📨
跨进程发布订阅 同机进程间 Publish/Subscribe,语义与进程内总线一致。
🔁
请求响应 同主题 Query/Response,按 TaskId 关联支持并发查询。
🧱
复用 NetWrapper TcpServer/Client、命令处理器与心跳,久经考验。
🪶
零 MQ 依赖 不装 RabbitMQ/Kafka/Redis,单机 IPC 轻装上阵。
🚀
net8/10/11 多目标框架,服务端与桌面端同库。
📐
设计文档齐全 架构图、命令与查询时序图随仓库维护。
> dotnet add package CodeWF.EventBus.Socket
核心包按需引入;目标框架 net8.0 / net10.0 / net11.0。全部包在 nuget.org 与 GitHub 同步发布。
服务端启动监听
csharp
using CodeWF.EventBus.Socket;
IEventServer eventServer = new EventServer();
await eventServer.StartAsync("127.0.0.1", 9100); 客户端连接
csharp
using CodeWF.EventBus.Socket;
IEventClient eventClient = new EventClient();
await eventClient.ConnectAsync("127.0.0.1", 9100); 1.5.0 🚀[新增]-服务端离线消息补发:客户端断线期间,其订阅主题的广播进入服务端有界缓冲(按客户端 ClientId + 主题隔离),重连并重新订阅成功后按原顺序补发,不再丢失断线窗口内的消息(issue #1)。
1.4.4.2 Hardened client and server lifecycle handling, cancellation, reconnect recovery, authentication, validation, queue limit
1.3.4 🚀[新增]-NuGet 包统一支持 `net8.0;net10.0;net11.0`,并发布新版本。