5
나는 socket.io와 함께 express 앱을 만들었습니다. 이제 브라우저 터미널을 노드에서 만든 repl과 연결해야합니다. 여기에 무슨 일이 있었는지노드 repl 스트림에 Socket.io 스트림을 연결하십시오.
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의 프론트 엔드로부터 데이터를 입력하는 것이 아닙니다.
아이디어가 있으십니까?