在Linux和Windows上与C#进行进程间通信

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

在两个系统上做IPC最好的方法是什么?

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

在此先感谢你们所有人。

我会简单地使用Remoting

只是因为其他选项吸:

  • 单声道WCF非常有限

  • 罗尔夫说,DBus有它的问题。 更别提C#的故事有点笨重,也就是说:最好的解决办法是使用托管的Dbus,你可以用NDesk.Dbus,但是这个库改名为dbus-sharp; 但侏儒世界正在转向使用GDbus,现在还没有任何约束力。

  • 由Rolf提出的套接字对我来说太低级了。

我在DBus上的经验(在Linux上)非常糟糕。

我最终用一个自定义格式的tcp套接字取代了它(但是数据非常有限,所以开发一个自定义格式并不需要很长的时间)。

Mono具有适中的良好的WCF支持,对平台不可知的IPC很有效。