WebSocket 使用 node.js 回复每个客户端“onConnect”

Posted

技术标签:

【中文标题】WebSocket 使用 node.js 回复每个客户端“onConnect”【英文标题】:WebSocket replies to each client 'onConnect' with node.js 【发布时间】:2019-07-20 16:05:47 【问题描述】:

我的服务器上有一个ws.on('connection') 事件,它在每个连接的客户端的第一次连接上发送一个 JSON 对象。

但是因为这个位:

        // Sending the payload to all clients.
        wss.clients.forEach((client) => 
            // Prepare for transmission.
            let transmission = JSON.stringify(SocketObject.query());

            // Debug
            console.log('[server:onConnection:init]');

            // Send the transmission.
            client.send(transmission);
        );

每次客户端连接时,JSON 对象都会一次又一次地传输到每个客户端。是否可以将此回复仅限于最初连接的客户端?

【问题讨论】:

【参考方案1】:

这是我的错误,所以当这样包装时:

    wss.on('connection', (ws) => 
        console.log('[server:onConnection]');
        ws.send('FIRST_RESPONSE');

...它完全符合我的需要。这意味着它只将消息发送到连接的客户端。我不知道为什么我有forEach(client) 位。

【讨论】:

以上是关于WebSocket 使用 node.js 回复每个客户端“onConnect”的主要内容,如果未能解决你的问题,请参考以下文章