首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js与Java之间的IPC通信

Node.js与Java之间的IPC通信
EN

Stack Overflow用户
提问于 2019-09-10 14:37:12
回答 2查看 1K关注 0票数 1

我希望通过IPC在Node.js和Java子进程之间进行通信。我正在寻找不需要打开端口的建议。

代码语言:javascript
复制
const { spawn } = require('child_process')

// Java App is within args
const args = []

const javaProcess = spawn('java', args, { cwd: __dirname })

javaProcess.on('message', (m) => {
  console.log('PARENT got message:', m)
})

// Sends { 'hello': 'world' } to the Java process
javaProcess.send({ hello: 'world' })

我知道节点层可以向子进程发送消息,我只是不知道如何侦听Java层中的消息并将消息发回。

任何帮助都是非常感谢的,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-13 14:29:11

我用命名管道解决了这个问题..。

在Node上,我使用了Net support

在Java上,我使用了RandomAccessFile https://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html

票数 0
EN

Stack Overflow用户

发布于 2022-06-09 13:28:33

最后,我用Erwin Bolwidt's Comment的灵感解决了这个问题。

代码语言:javascript
复制
const { spawn } = require('child_process')

// Java App is within args
const args = []

const javaProcess = spawn('java', args, { cwd: __dirname })

javaProcess.stdout.on('data', (m) => {
  console.log('PARENT got message:', m)
})

// Sends message to the Java process
javaProcess.stdin.write('Hello there java!');

java进程可以在System.in上等待带有System.in的消息,然后将输出打印到System.out

总之,您只是重新路由进程的stdin/stdout。process.html#subprocessstdout

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57873141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档