我需要在我的应用程序中引入 IPC,我还需要继续在 GNU/Linux 和 Windows 上进行分发(目前我在 GNU/Linux 上使用单声道,在 Windows 上使用 .NET,两者都支持 GTK+)。通信仅限于同一个盒子。
在两个系统上进行 IPC 的最佳方法是什么?
我读到 DBUS 也可以在带有主流源代码的 Windows 上使用。任何人都有使用它的经验,我的意思是在 Windows 上?
在此先感谢大家。
我对 DBus(在 Linux 上)的体验非常糟糕。
我最终用自定义格式的 tcp 套接字替换了它(但数据非常有限,因此开发自定义格式根本不需要很长时间)。
我会简单地使用Remoting。
仅仅因为其他选项很糟糕:
WCF 在 Mono 中非常有限
正如 Rolf 所说,DBus 有它的问题。更不用说它的 C# 故事有点笨拙,即:最好的解决方案是使用托管 Dbus,你可以使用 NDesk.Dbus,但是这个库被重命名为 dbus-sharp;但是 Gnome 世界正在转向使用 GDbus,而且还没有任何约束力。
Rolf 提出的 Socket 对我来说太低级了。
Mono 具有中等良好的 WCF 支持,适用于与平台无关的 IPC。