Estoy tratando de manejar múltiples flujos de clientes para escribir en diferentes archivos a la vez. Una vez que se establece una conexión con un websocket y se escribe el contenido de la transmisión, tan pronto como se establece la segunda conexión, se detiene la primera escritura. ¿Alguien puede ayudar a manejar esto en nodejs?
Aquí está el fragmento de código
const WebSocket = require('ws'); const fs = require('fs'); const argv = require('minimist')(process.argv.slice(2)); const recordingPath = argv._.length ? argv._[0] : '/tmp/'; const port = argv.port && parseInt(argv.port) ? parseInt(argv.port) : 3001 let wstream; console.log(`listening on port ${port}, writing incoming raw audio to folder ${recordingPath}`); const wss = new WebSocket.Server({ port, handleProtocols: (protocols, req) => { return 'audiostream.drachtio.org'; } }); let conn = 1; wss.on('connection', (ws, req) => { console.log(`received connection from ${req.connection.remoteAddress}`); const recordingPath = argv._.length ? argv._[0] : '/tmp/audio'+ Math.round((new Date()).getTime() / 1000) +'.raw'; console.log(`writing to path ${recordingPath} for connection ${conn}`); wstream = fs.createWriteStream(recordingPath); ws.on('message', (message) => { if (typeof message === 'string') { } else if (message instanceof Buffer) { wstream.write(message); } }); conn++; ws.on('close', (code, reason) => { console.log(`socket closed ${code}:${reason}`); wstream.end(); }); });