Creé un servidor websocket usando nodeJS, y mi problema es el siguiente: dos clientes se conectarán al servidor. Cuando el cliente 1 envía datos al servidor, quiero reenviarlos al cliente 2.
Para hacer esto, me inspiré en este tipo de solución: https://github.com/websockets/ws/issues/367
Se ve muy bien, pero cuando lo aplico, me da el siguiente error:
TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of Object at new NodeError (node:internal/errors:371:5) at Function.from (node:buffer:323:9) at toBuffer (/home/ttt/node_modules/ws/lib/buffer-util.js:95:18) at Sender.send (/home/ttt/node_modules/ws/lib/sender.js:315:14) at WebSocket.send (/home/ttt/node_modules/ws/lib/websocket.js:467:18) at WebSocket.<anonymous> (/home/ttt/STT_project/sttproject/IHM_server/websocketServer.js:43:15) at WebSocket.emit (node:events:526:28) at Receiver.receiverOnMessage (/home/ttt/node_modules/ws/lib/websocket.js:1137:20) at Receiver.emit (node:events:526:28) at Receiver.dataMessage (/home/ttt/node_modules/ws/lib/receiver.js:528:14) code: 'ERR_INVALID_ARG_TYPE'Probé diferentes métodos, pero el resultado sigue siendo el mismo. ¿Alguien puede ayudarme con esto? O proponer una mejor solución a mi problema.
Hay una muestra de mi código:
wss.on("connection", ws => { ws.id = id++; lookup[ws.id] = ws; ws.on("message", data => { if(data.toString() != "\n") { message = { "message": { "text": data.toString(), "end": false } } } else { message = { "message": { "text": "", "end": true } } } lookup[0].send('message'); }) ...