const ws = require('ws') const ws_server = new ws.Server({ host: '0.0.0.0', port: 8001 }); const getNow = () => { const date = new Date(); return date.toLocaleTimeString() + "." + date.getMilliseconds(); }; console.log(getNow() + " WebSocket server started."); const arrayBuf = 1000*1000; // 1MB const totalIter = 100; const charArray1000 = []; for (i = 0; i < 1000; i++) { charArray1000.push(i % 128); } const asciiArray1K = String.fromCharCode.apply(this, charArray1000); const textArray1M = []; for (i = 0; i < 1000; i++) { textArray1M.push(asciiArray1K); } const asciiText1MB = textArray1M.join(''); ws_server.on('connection', function(ws_socket, request) { console.log(getNow() + ' Connection established. url=' + request.url); if (request.url === '/') { const data = new ArrayBuffer(arrayBuf); for (let i = 0; i < totalIter; i++) { ws_socket.send(data, {binary: true}); } } else if (request.url === '/text') { for (let i = 0; i < totalIter; i++) { ws_socket.send(asciiText1MB); } } else { console.log('Invalid request: ' + request.url); } ws_socket.close(); console.log(getNow() + " Connection closed."); });