Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从childprocess标准输出中连续读取json_Json_Node.js_Stream_Ipc - Fatal编程技术网

从childprocess标准输出中连续读取json

从childprocess标准输出中连续读取json,json,node.js,stream,ipc,Json,Node.js,Stream,Ipc,我想在nodejs中从java子进程读取和发送json消息。这个过程将持续一段时间。通过stdio发送和接收的消息表示两个进程之间的事件。因此,消息必须在完成后立即进行处理 输出将以 {"type":"eventType","data":...} {"type":"anotherEventType","data":...} ... {"type":"anotherEventType","data":...} 写信息没有问题,但阅读是。特别是因为我不能依赖于\n上的消息拆分,也不能依赖于一个块正

我想在nodejs中从java子进程读取和发送
json
消息。这个过程将持续一段时间。通过
stdio
发送和接收的消息表示两个进程之间的事件。因此,消息必须在完成后立即进行处理

输出将以

{"type":"eventType","data":...}
{"type":"anotherEventType","data":...}
...
{"type":"anotherEventType","data":...}
写信息没有问题,但阅读是。特别是因为我不能依赖于
\n
上的消息拆分,也不能依赖于一个块正好包含一条消息

不幸的是,我能找到的每个示例都会缓冲
stdout
的输出,直到进程终止,然后才解析它。我能找到的所有IPC节点模块都使用我想要避免的套接字

是否有提供此类功能的现有库,或者我必须扮演自己的角色?

正是我想要的

child.stdout
    .pipe(require('JSONStream').parse())
    .on('data', processMessage);

这两个过程是否都在节点中实现?如果是这样的话,通过Node的IPC通道发送JSON消息是非常容易的(如果这确实是您的情况,我可以在回答中详细说明)。编辑问题