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



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

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

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

提前致谢:)

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

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

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

您可以使用 UDP 或 TCP 进行 IPC。

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

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

最新更新