私はsocket.ioで高速アプリを作成しました。ここで、ノードで作成した repl にブラウザ端末を接続する必要があります。これが私が思いついたものです
var io = io.listen(server);
var sessionSockets = new SessionSockets(io, sessionStore, cookieParser);
sessionSockets.on('connection', function (err, socket, session) {
var stream = createStream(socket);
var replInstance = repl.start({
prompt: "> ",
input: stream,
output: stream
});
repls[socket.id] = replInstance;
});
var createStream = function(socket) {
var stream = new Stream();
stream.readable = true;
stream.resume = function() {};
stream.write = function(data) {
socket.emit('stdout', data);
};
socket.on('stdin', function(data) {
// emit data to repl stream - DOES NOT WORK
stream.emit('data', data);
});
return stream;
};
すでに行っていることは、コンソール出力を socket.io 接続にプッシュし、それらをフロントエンドに表示することです。それがしないのは、フロントエンドからのデータを repl に入力することではありません。
アイデア?