Ste*_*yer 5 sockets node.js socket.io
我用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;
};
Run Code Online (Sandbox Code Playgroud)
它的作用是将控制台输出推送到socket.io连接并在前端显示它们.它不是从repl的前端输入数据.
想法?
小智 0
我刚刚尝试了您的代码,我认为您可能需要在流发出时换行以便 repl 识别它:
// emit data to repl stream - DOES NOT WORK
stream.emit('data', data+'\n');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
637 次 |
| 最近记录: |