node ws 向指定socket.id发送数据
时间: 2023-06-16 20:02:12 浏览: 53
在使用 `ws` 模块时,可以通过 `ws` 实例的 `clients` 属性获取当前连接的所有 `WebSocket` 实例列表,每个 `WebSocket` 实例都有一个唯一的 `id` 属性,可以通过该属性来确定要向哪个连接发送数据。
以下是一个示例代码:
```javascript
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
console.log('client connected:', ws.id);
ws.on('message', function incoming(message) {
console.log('received: %s from client %s', message, ws.id);
// 向指定的 WebSocket 连接发送数据
wss.clients.forEach(function each(client) {
if (client.id === '指定的 WebSocket 连接的 id') {
client.send('hello, client!');
}
});
});
});
```
其中,`wss.clients` 是一个 `Set` 类型的对象,包含了所有当前连接的 `WebSocket` 实例。遍历该对象时,可以通过 `if` 语句判断每个实例的 `id` 属性是否等于指定的值,从而找到要向哪个连接发送数据。