小编典典

Windows OS环境中C ++应用程序与Java App之间的进程间通信

java

在Windows上,我们有一个C ++应用程序来启动Java进程。这两个应用程序需要彼此通信(通过xml片段)。

您将选择哪种进程间通信方法,为什么?

我们桌上的方法是:共享文件,管道和套接字(尽管我认为这有一些安全问题)。我愿意接受其他方法。


阅读 208

收藏
2020-11-16

共1个答案

小编典典

我不确定为什么您认为基于套接字的通信会带来安全隐患(使用SSL)。假设您具有明确定义的通信协议,这通常是一种非常好的方法,因为它与 语言无关
。例如,看看Google的
协议缓冲区
-它们生成所需的Java类和流。

根据我的经验,文件系统(尤其是网络文件系统)不太适合此类通信,因为它们不一定要针对 消息传递
进行调整(例如,我已经看到缓存问题导致目标进程无法拾取文件)。

另一个选择是 消息传递
层(例如AMQ或Tibco),尽管这可能会涉及更大的管理开销(加上专业知识)。

就我个人而言,由于它的灵活性和简单性,我会选择一种简单的方法。您将完全 处于控制之中

2020-11-16