Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java和C++;? 我想在一个JVM应用程序(一个进程,可能多个线程)和一个与C++ DLL链接的本地C++应用程序之间实现一个强大的IPC解决方案。dll可能在同一台物理计算机上,也可能不在同一台物理计算机上。这样做的最佳方法是什么_Java_C++_Ipc - Fatal编程技术网

在Java和C++;? 我想在一个JVM应用程序(一个进程,可能多个线程)和一个与C++ DLL链接的本地C++应用程序之间实现一个强大的IPC解决方案。dll可能在同一台物理计算机上,也可能不在同一台物理计算机上。这样做的最佳方法是什么

在Java和C++;? 我想在一个JVM应用程序(一个进程,可能多个线程)和一个与C++ DLL链接的本地C++应用程序之间实现一个强大的IPC解决方案。dll可能在同一台物理计算机上,也可能不在同一台物理计算机上。这样做的最佳方法是什么,java,c++,ipc,Java,C++,Ipc,如有任何建议,将不胜感激!谢谢 我会使用一个标准的TCP/IP套接字,应用程序监听某个端口,库连接到它,报告它必须报告的内容,并期望得到答案 抽象功能强大,支持良好,不会出现互操作问题。您考虑过吗 Thrift是一个用于可伸缩跨语言服务开发的软件框架。它将软件栈与代码生成引擎结合起来,构建了在C++、java、python、php、Ruby、erlang、perl、Haskell、Cype、CoaA、SimalTalk和OcAML之间有效和无缝地工作的服务。 Thrift允许您在一个简单的定义文

如有任何建议,将不胜感激!谢谢

我会使用一个标准的TCP/IP套接字,应用程序监听某个端口,库连接到它,报告它必须报告的内容,并期望得到答案

抽象功能强大,支持良好,不会出现互操作问题。

您考虑过吗

Thrift是一个用于可伸缩跨语言服务开发的软件框架。它将软件栈与代码生成引擎结合起来,构建了在C++、java、python、php、Ruby、erlang、perl、Haskell、Cype、CoaA、SimalTalk和OcAML之间有效和无缝地工作的服务。 Thrift允许您在一个简单的定义文件中定义数据类型和服务接口。将该文件作为输入,编译器生成代码,用于轻松构建跨编程语言无缝通信的RPC客户端和服务器

它可以在TCP套接字上工作,并且序列化/反序列化已经内置


有关详细信息,请阅读。

mmm-DLL不是进程,因此我假设您指的是Java应用程序与链接到DLL的其他本机应用程序之间的IPC。当然,插座是解决这个问题的方法。这会让你一切都变得容易


另一种选择是使用JNI与DCOM实现对话,但我认为您不会获得太多好处(除了必须处理COM和JNI:-)的麻烦。

可以帮助您以语言和平台无关的方式序列化数据。它还将在爪哇和C++中生成代码来处理串行数据的读写。然后,您可以使用希望发送数据的任何通信机制。例如,您可以通过TCP套接字或共享内存IPC发送。

< P>我正在查看,对于我的纯C++应用程序。这些规格看起来很漂亮,很有前途。我要试试。

节俭很好,但我看到他们文档中的第一句话说它在Windows上不起作用……我的解释正确吗@贾斯汀:是的,它不是用Visual Studio编译的。旧线程,但thrift现在附带了Visual Studio(2010)项目