Windows中Java和C之间的任何IPC机制 - 不需要套接字

时间:2012-06-29 10:47:26

标签: java c++ c windows ipc

我的要求是使用JSON字符串在Windows上的C客户端和Java服务器之间进行IPC。

刚才意识到我不能在Windows中使用命名管道(“\。\ pipe \ filename”)。我不太热衷于使用任何基于网络的架构,因为它会变得更加复杂以确保安全性和速度。

请建议您碰巧知道的任何共享内存/快速解决方案?

提前致谢:)

2 个答案:

答案 0 :(得分:0)

您可以在Windows上使用命名管道; this questionthis question的答案为此提供了不同的解决方案。

除此以外,通过使用llvm(在您的情况下为clang)后跟LLJVM Translator,您可以将代码从数百种编程语言编译为LLVM字节码,然后将其转换为JVM字节码。指出您现有的Java代码可以从您的(已编译和翻译的)代码中调用函数。

最后但不一定一定要,为了避免做您可能不需要做的工作,您应该集中精力使用清晰,可维护的代码来解决问题,并进行优化,直到您确定它需要完成。届时,您的探查器将成为您的朋友,以衡量瓶颈并验证您执行的优化。

答案 1 :(得分:0)

您可以将UDP或TCP用于IPC。

如果以后将程序移至其他OS,它也是一种可移植的解决方案。

使用TCP,扩展系统非常容易:即:在不同主机上运行程序。 由于UDP的性质不可靠,因此在不可靠的网络上使用它可能会有些困难。