Python シェルへの端末コマンド ライン アクセスを使用して Web アプリを構築しようとしていますが、ストリームに問題があります。
着信コマンドを Python プロセス (以下のコード) の stdin に送信する node.js/websocket サーバーがありますが、これは正常に動作しているように見えますが、何らかの理由で、着信コマンドごとに複数の応答メッセージが送信されています。たとえば、コマンド'hello world'
が送信されると、複数の がクライアントに返されます ( stderr を介し'hello world'
た複数のメッセージとともに)。>>>
私はかなり困惑しています...クライアントからのコマンドは1つだけであることを確認したのに、なぜ多くの応答が得られるのでしょうか?
var python = spawn('python', ['-i']);
s.on('run', function(input) {
console.log('Running command: ' + input.command);
python.stdin.write(input.command + '\n');
python.stdout.on('data', function(data) {
var output = '' + data;
s.emit('response', {
output: output
});
console.log('python stdout: ' + output);
});
python.stderr.on('data', function(data) {
var output = '' + data;
s.emit('response', {
error: output
});
console.log('python stderr: ' + output);
});
});