C++ 中是不是有用于远程进程间通信的 API?

Posted

技术标签:

【中文标题】C++ 中是不是有用于远程进程间通信的 API?【英文标题】:Is there an API in C++ for remote inter-process communication?C++ 中是否有用于远程进程间通信的 API? 【发布时间】:2011-11-08 18:59:33 【问题描述】:

我正在寻找 C++ 标准中的 RMI API(在 java 中)的等价物。这些进程将在不同的机器上运行。

【问题讨论】:

谷歌"C++ Remote Procedure Call" 【参考方案1】:

有许多用于进程间通信的 C++ API。但它们都不是 C++ 标准库的一部分。

我建议使用Boost.Interprocess。

但是,如果您在不同的机器上进行通信,则需要联网,而不是进程间通信。这需要一个网络库(也不是标准的); Boost.Asio 是一个合理的网络库。

【讨论】:

问题是关于在不同机器上运行的进程。 Boost.Interprocess 不适合。 @KirillV.Lyadvinsky:好点;这不可以。但是Boost.Asio 可以;) Asio 可以和套接字一样。太低级了。 @KirillV.Lyadvinsky:Asio 有许多基于套接字(流等)的高级原语。是否太低级由提问者决定。【参考方案2】:

C++ 标准在这里无法为您提供帮助。您可以使用 DCOM 或 Corba(还有更多),具体取决于您使用的操作系统。

【讨论】:

以上是关于C++ 中是不是有用于远程进程间通信的 API?的主要内容,如果未能解决你的问题,请参考以下文章

进程间通信的问题(C++高手进)

进程间通信包创建

使用重定向输入和输出的 C++ 进程间通信不适用于发布版本

C++编程,进程间通信的问题,sendMessage后另一个进程如何接收消息?

Android之IPC(aidl)

进程间通信