我的要求是使用JSON字符串在Windows上的C客户端和Java服务器之间进行IPC。
刚才意识到我不能在Windows中使用命名管道(“\。\ pipe \ filename”)。我不太热衷于使用任何基于网络的架构,因为它会变得更加复杂以确保安全性和速度。
请建议您碰巧知道的任何共享内存/快速解决方案?
提前致谢:)
答案 0 :(得分:0)
您可以在Windows上使用命名管道; this question和this question的答案为此提供了不同的解决方案。
除此以外,通过使用llvm(在您的情况下为clang)后跟LLJVM Translator,您可以将代码从数百种编程语言编译为LLVM字节码,然后将其转换为JVM字节码。指出您现有的Java代码可以从您的(已编译和翻译的)代码中调用函数。
最后但不一定一定要,为了避免做您可能不需要做的工作,您应该集中精力使用清晰,可维护的代码来解决问题,并进行优化,直到您确定它需要完成。届时,您的探查器将成为您的朋友,以衡量瓶颈并验证您执行的优化。
答案 1 :(得分:0)
您可以将UDP或TCP用于IPC。
如果以后将程序移至其他OS,它也是一种可移植的解决方案。
使用TCP,扩展系统非常容易:即:在不同主机上运行程序。 由于UDP的性质不可靠,因此在不可靠的网络上使用它可能会有些困难。