Merge pull request #1744 from jerch/demo_buffer

add buffer to server part in demo
This commit is contained in:
jerch
2018-10-11 18:20:53 +02:00
committed by GitHub
+17 -1
View File
@@ -58,9 +58,25 @@ app.ws('/terminals/:pid', function (ws, req) {
console.log('Connected to terminal ' + term.pid);
ws.send(logs[term.pid]);
function buffer(socket, timeout) {
let s = '';
let sender = null;
return (data) => {
s += data;
if (!sender) {
sender = setTimeout(() => {
socket.send(s);
s = '';
sender = null;
}, timeout);
}
};
}
const send = buffer(ws, 5);
term.on('data', function(data) {
try {
ws.send(data);
send(data);
} catch (ex) {
// The WebSocket is not open, ignore
}