c# - 在 Linux 和 Windows 上使用 C# 进行进程间通信

标签 c# linux windows mono ipc

我需要在我的应用程序中引入 IPC,我还需要继续在 GNU/Linux 和 Windows 上分发(目前我在 GNU/Linux 上使用单声道,在 Windows 上使用 .NET,两者都支持 GTK+)。通信仅限于同一个盒子。

在两个系统上执行 IPC 的最佳方法是什么?

我读到 DBUS 也可以在具有主流源代码的 Windows 上使用。任何人都有使用它的经验,我的意思是在 Windows 上?

在此先感谢大家。

最佳答案

我只会使用Remoting

仅仅因为其他选项很糟糕:

  • WCF 在 Mono 中非常有限

  • 正如 Rolf 所说,DBus 有其自身的问题;更不用说它的 C# 故事有点笨拙,即:最好的解决方案是使用托管 Dbus,您可以使用 NDesk.Dbus,但是这个库已重命名为 dbus-sharp;但 Gnome 世界正在转向使用 GDbus,目前还没有绑定(bind)它。

  • Rolf 提出的 Socket 对我来说太低级了。

关于c# - 在 Linux 和 Windows 上使用 C# 进行进程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13155490/

相关文章:

c# - 在现有类 c# 中在运行时动态添加属性

windows - Linux 客户端和 Windows 服务器之间的套接字 "recv"函数中的结构困惑,适用于 Windows

C# 以 CPU 友好的方式使事件处理线程保持事件状态

PHP MySQL 连接错误

linux - 用于一次性 CLI 应用程序的 Docker

php - yum安装后如何启动php?

c# - 从 mobi 文件获取封面图片

javascript - C#.NET : Server is not able to validate Angular Client [IdentityServer]

c# - 是否有更好的方法在 CLR 中验证 SqlXml?

c - 我如何#include 包含加密字符串的文件?