/dotnetCampus.Ipc

本机内多进程通讯库

Primary LanguageC#MIT LicenseMIT

dotnetCampus.Ipc

本机内多进程通讯库

Build NuGet

项目可用状态

打磨中

特点

  • 采用两个半工命名管道
  • 采用 P2P 方式,每个端都是服务端也是客户端
  • 加入消息 Ack 机制,弱化版,因为管道形式只要能写入就是成功 Ack 了
  • 提供 PeerProxy 机制,利用这个机制可以进行发送和接收某个对方的信息
  • 追求稳定,而不追求高性能

功能

  • 通讯建立

  • 消息收到回复机制

  • 断线重连功能

  • 大量异常处理

  • 支持裸数据双向传输方式

  • 支持裸数据请求响应模式

  • 支持字符串消息协议

  • 支持远程对象调用和对象存根传输方式

  • 支持 NamedPipeStreamForMvc (NamedPipeMvc) 客户端服务器端 MVC 模式

  • .NET Framework 4.5

  • .NET Core 3.1

API 特点

设计特点

底层每次调用需要传入 string summary 用于标识

优势在于解决调试的时候,看到传送的二进制以及调用堆栈的时候,如何对应上具体的业务方的问题

整个库编写过程中注意了给参数加上单位,不会存在基础类型的传入。例如给 ulong 的 Ack 特别定义了结构体等

进度

  • 基本完成 dotnetCampus.Ipc 的 API 定义和功能实现

  • 完成 客户端服务器端模型

  • 完成 P2P 式模型

  • 完成远程调用的实现

  • 完成 最小可用呆魔,支持主动和被动连接,支持通讯发送文本

  • 完成断线重连

  • 完成性能优化,包括内存优化

  • 完成 MVC 模式

  • 接入预编译提供上层的远程调用封装

感谢

踩过的坑