如何刷新Node.js child_process stdin.write

1010

我需要在服务器端为客户端运行“ C”程序。该程序可以是交互式的。
我正在使用Node.js child_process类。但是我在这里看到一个问题:由于我需要保持程序的交互性,因此客户端和node.js服务器之间会来回交换消息。

1.program说:输入x的值:
将消息发送给客户端并获得一些输入值
。2.当Nodejs服务器从客户端接收到输入时,它将执行child_process.stdin.write

但是问题是,直到我标记了流的结尾,程序才执行。为此可能有什么解决方法?
就像在用户可用时将值刷新到程序中一样。

更新 :

test1.c
#include

int main() {

int x, y;

printf("Enter x : ");
fflush(stdout);
scanf("%d", &x);

printf("Enter y : ");
fflush(stdout);
scanf("%d", &y);

printf("Value entered y is %d\n", y);
printf("Value entered x is %d", x);
}

编译以上代码以生成可执行文件a.out

var spawn = require('child_process').spawn;
var count = 0;
var exec = spawn('./a.out');


exec.on('error', function (err){
   console.log("Error" + err );
});

exec.stdout.on('data', function(data){
    console.log("in stdout.on.data : " + data.toString());
    if (count == 0) {
        exec.stdin.write('44\n');
        count++;
    }
    else if (count == 1) {
        exec.stdin.write('54');
        count++;
    }
    if (count == 2) {
        exec.stdin.end();
    }

});

exec.stderr.on('data', function(data) {
    console.log("in stderr.on.data : " + data);
});

exec.on('close', function (code) {
    if (code != 0) {
        console.log("Program ended with a error code : " + code);
    }

});

在上面的node.js代码中,如果我评论exec.stdin.end();说它不起作用,它将等待直到流关闭。我该如何解决?由于我希望客户保持持续的互动,因此我很难预测何时结束直播。

沃奇斯基

您忘记了“按Enter”。

exec.stdin.write('54' + "\n");
OR
exec.stdin.write("54\n");

您还可以在JavaScript中查找有关引号的内容

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何模拟Node.js child_process生成函数?

来自分类Dev

Node.js child_process exec的标准输出被缩短

来自分类Dev

在node.js安全/转义中生成child_process

来自分类Dev

Node.js插件与child_process的优点

来自分类Dev

使用node.js child_process调用python脚本

来自分类Dev

无法从node.js中的child_process访问数组

来自分类Dev

Node.js child_process exec的标准输出被缩短

来自分类Dev

在node.js安全/转义中生成child_process

来自分类Dev

使用node.js child_process调用python脚本

来自分类Dev

等待child_process退出node.js的替代方法

来自分类Dev

node.js child_process 生成忽略等号

来自分类Dev

Node js Google App Engine 中的 child_process

来自分类Dev

如何在node.js child_process exec命令中使用“&”?

来自分类Dev

如何获取Node.JS中生成的child_process的输出?

来自分类Dev

我应该如何使用 child_process 模块在 linux 中通信 python 和 node.js?

来自分类Dev

通过Node.js child_process关闭CS:GO专用服务器

来自分类Dev

Node.js child_process生成自定义stdio

来自分类Dev

使用child_process(node js)在后台运行python脚本

来自分类Dev

Node.js child_process TypeError:无法读取未定义的属性“_writableState”

来自分类Dev

无法在Windows上写入生成的child_process的stdin

来自分类Dev

节点检测到child_process等待从stdin读取

来自分类Dev

如何构建docker以从Google App Engine中的Node.js child_process运行Python3?

来自分类Dev

如何通过Node.js中的child_process.spawn()将长字符串传送到/ dev / stdin?

来自分类Dev

您如何通过Node.js中的child_process.spawn()将长字符串传送到/ dev / stdin?

来自分类Dev

当child_process中的exec shell时,child_process中的stdout无法在stdin之前输出右行

来自分类Dev

node.js STDIN与process.stdin一起使用,而不是通过管道传输时

来自分类Dev

功能步骤中的黄瓜JS child_process

来自分类Dev

节点js上有多个child_process exec

来自分类Dev

使用Child_Process的NodeJS-如何转义我的命令

Related 相关文章

  1. 1

    如何模拟Node.js child_process生成函数?

  2. 2

    Node.js child_process exec的标准输出被缩短

  3. 3

    在node.js安全/转义中生成child_process

  4. 4

    Node.js插件与child_process的优点

  5. 5

    使用node.js child_process调用python脚本

  6. 6

    无法从node.js中的child_process访问数组

  7. 7

    Node.js child_process exec的标准输出被缩短

  8. 8

    在node.js安全/转义中生成child_process

  9. 9

    使用node.js child_process调用python脚本

  10. 10

    等待child_process退出node.js的替代方法

  11. 11

    node.js child_process 生成忽略等号

  12. 12

    Node js Google App Engine 中的 child_process

  13. 13

    如何在node.js child_process exec命令中使用“&”?

  14. 14

    如何获取Node.JS中生成的child_process的输出?

  15. 15

    我应该如何使用 child_process 模块在 linux 中通信 python 和 node.js?

  16. 16

    通过Node.js child_process关闭CS:GO专用服务器

  17. 17

    Node.js child_process生成自定义stdio

  18. 18

    使用child_process(node js)在后台运行python脚本

  19. 19

    Node.js child_process TypeError:无法读取未定义的属性“_writableState”

  20. 20

    无法在Windows上写入生成的child_process的stdin

  21. 21

    节点检测到child_process等待从stdin读取

  22. 22

    如何构建docker以从Google App Engine中的Node.js child_process运行Python3?

  23. 23

    如何通过Node.js中的child_process.spawn()将长字符串传送到/ dev / stdin?

  24. 24

    您如何通过Node.js中的child_process.spawn()将长字符串传送到/ dev / stdin?

  25. 25

    当child_process中的exec shell时,child_process中的stdout无法在stdin之前输出右行

  26. 26

    node.js STDIN与process.stdin一起使用,而不是通过管道传输时

  27. 27

    功能步骤中的黄瓜JS child_process

  28. 28

    节点js上有多个child_process exec

  29. 29

    使用Child_Process的NodeJS-如何转义我的命令

热门标签

归档