在Windows上通过管道进行Java/C++通信

3
我有两个独立的程序,一个是Java,一个是C++,都在Windows上运行。我们需要在两者之间进行双向进程通信。
到目前为止,我们使用了一种笨拙的解决方案,即将内容写入文本文件,然后在另一侧读取它们,生产者在完成写入时会生成一个.lock文件,而消费者在完成读取时会删除该文件……就像我说的那样,很笨拙。
如果我们在*nix上,我们将使用管道,在C++上使用popen(),在Java端使用RandomAccessFile。这似乎很有效。
在Windows上我们可以怎么做呢?我们能使用命名管道吗?
谢谢。
2个回答

2

Polaris,谢谢。我看到了那篇帖子和相应的博客文章。我甚至实现了Java端,而同事则在C++中实现了命名管道。问题是Java抱怨找不到文件异常,因为“\\.\pipe\testpipe”不存在。现在,在Mac上运行时,“\\.\pipe\testpipe”仅仅创建一个文件并且顺利运行。但不幸的是,我们不能在*nix上部署。 - Warlax

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接