修正できないと思われるコードがいくつかあります。次のようになります。
var childProcess = require('child_process');
var spawn = childProcess.spawn;
child = spawn('./simulator',[]);
child.stdout.on('data',
function(data){
console.log(data);
}
);
これはすべて、特定のタイプのシミュレーションを実行している Web アプリケーションのバックエンドにあります。シミュレーターの実行可能ファイルは、(標準入力を介して) データが渡されるのを待っているループを実行する ac プログラムです。入力がシミュレーション用に (つまり、クライアントから) 入ってくると、入力を解析し、子プロセスの stdin にデータを書き込みます。次のように:
child.stdin.write(INPUTS);
現在、戻ってくるデータは 40,000 バイトです。しかし、データは 8192 バイトのチャンクに分割されているようです。Cプログラムの標準出力バッファを修正しようとしましたが、修正されません。node.jsによって課される「データ」イベントのサイズに制限があるかどうか疑問に思っていますか? 1 つのチャンクとして戻ってくる必要があります。