C ++和Java如何相互通信?

时间:2013-05-28 07:11:33

标签: java c++

是否有任何同时使用C ++和Java的程序/软件?

如果是这样,他们如何相互沟通?

请理论和程序。

示例:假设我想使用Java applet或类似的东西运行C ++文件。

1 个答案:

答案 0 :(得分:5)

Java Native Interface

Pro:从Java调用C ++库的快速方法,反之亦然。

Contra:您需要控制库以使其支持JNI。

从Java创建流程并通过输入和输出流与之通信

Pro:二进制文件在一个单独的线程中运行。二进制可以用任何允许基于命令行的输入和输出的编程语言实现。

Contra:数据交换是基于文本的。您只能使用taget应用程序通过命令行界面执行的操作。

让两个应用程序通过网络套接字进行通信

Pro:应用程序可以在任何支持网络套接字的技术中实现。您可以轻松地将组件移动到另一台计算机以提高可伸缩性。营销部门可以称之为“Cloud Powered”。

Contra:应用程序必须基于网络。即使在本地运行时,绕过OS的网络堆栈也会引入额外的延迟。必须采取安全措施,不允许未经授权的客户端连接到充当服务器的组件。