跨平台IPC

78

我正在寻找可能的IPC机制建议,它们需要满足以下条件:

  • 跨平台 (至少支持Win32和Linux)
  • C++以及最常见的脚本语言(perl、ruby、python等)中实现简单
  • 从编程角度看,易于使用

我的选择有哪些?我正在Linux下编程,但我希望将来所写的代码可以在其他操作系统上移植。我曾考虑使用套接字、命名管道或类似DBus的东西。

16个回答

4
如果你愿意尝试一些不同的东西,可以考虑使用ICE平台,它是由ZeroC开发的开源软件。该软件支持几乎所有操作系统,并且提供对C++、C#、Java、Ruby、Python和PHP等多种编程语言的支持。此外,该软件易于使用(语言映射自然地适应每种编程语言),速度快且高效。甚至还有一个适用于设备的简化版本。

3

使用管道是最简单的方法,几乎所有语言都支持它,并且在我所知道的每个操作系统上都可以使用。

请查看此教程


1
教程链接已损坏,你有其他链接或者一些关键词可以用来追踪吗? - rcreswick
1
据我所知,在Win32和Unix中,除非使用Cygwin(这对大多数Windows程序来说并不是一个很方便的选择),否则没有类似的管道API。 - Laserallan
2
这是通过Wayback机器的教程链接:http://web.archive.org/web/20080919054639/http://www.utdallas.edu/~kcooper/teaching/3375/Tutorial6a/tutorial6.htm。 - Russ

3

使用TCP套接字连接到本地主机。


0
Xojo具有内置的跨平台IPC支持,使用其IPCSocket类可以实现。虽然你显然无法在其他语言中“实现”它,但是你可以在Xojo控制台应用程序中使用它,并从其他语言中调用它,使这个选项对你来说可能非常简单。

0

-1
在当前的时代,有一个非常易于使用、符合C++1x标准、文档完备、适用于Linux和Windows操作系统的开源库——“CommonAPI C++” CommonAPI C++
底层IPC系统可以选择D-Bus(libdbus)或SomeIP。应用程序接口使用简单、专为Franca IDL语言量身定制的语言进行定义。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接