3

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

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

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

提前致谢 :)

4

2 回答 2

0

您可以将 UDP 或 TCP 用于 IPC。

如果您稍后将程序移动到其他操作系统,它也是非常便携的解决方案。

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

于 2018-08-21T08:52:53.233 回答
0

您可以在 Windows 上使用命名管道;这个问题这个问题的答案给出了不同的解决方案。

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

最后但同样重要的,为了避免做您可能不需要做的工作,您应该专注于使用清晰、可维护的代码来解决您的问题,并在您确定需要完成之前进行优化。那时,您的分析器将成为您测量瓶颈和验证您执行的优化的朋友。

于 2018-08-21T04:49:06.990 回答