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”的主要内容,如果未能解决你的问题,请参考以下文章
如何扩展 Node.js WebSocket Redis 服务器?
如何使用 node.js 使 Websocket 服务器安全