我有一个C代码,在无限循环内等待输入并产生输出。IPC:使用简单C代码的节点JS服务器通信
#include<stdio.h>
void flush() {
int c;
while ((c = getchar()) != '\n' && c != EOF);
}
int main() {
/*
* Load many files here
*/
double d = 0;
char input[1024];
while (1) {
d = d + 0.1;
scanf("%[^\n]", input);
printf("%lf\n",d);
fflush(stdout);
flush();
}
}
我需要另一个节点JS服务,它将在某个端口上侦听并发送输出作为响应。 我有这样的代码编写
var http = require('http');
var spawn = require('child_process').spawn;
var child = spawn('./dummyNLU.out');
child.stdin.setEncoding('utf-8');
child.stdin.cork();
var buffer = new Buffer(100);
var app = http.createServer(function(req,res){
var string = buffer.write("HelloWorld!"); //this is for testing purpose
child.stdin.write(buffer);
child.stdin.end();
child.stdout.on('data', function(data) {
res.setHeader('Content-Type', 'text/plain');
res.end(data);
});
});
app.listen(3001);
这段代码我似乎并不像是同所有工作。
节点JS服务器错误和网络响应终止包括283线的响应,而不是1
任何人都可以请帮我?也欢迎其他一些解决此问题的方法(从C可执行代码输出回复Web请求)。 预先感谢您。
的第一个请求会关闭子的标准输入。你如何期待第二次请求被提供? –