You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js中wss.clients显示undefined的问题求助

问题分析与解决

你的代码里wss.clients输出undefined的原因很明确:connection事件的回调参数名和全局的WebSocket服务器实例wss重名了。

在wss.on('connection', wss => { ... })这段代码中,回调函数的第一个参数代表的是单个客户端的WebSocket连接对象,但你把它命名成了wss,这就覆盖了外部定义的服务器实例变量。此时回调内部的wss是客户端连接,它并没有clients属性,所以打印结果自然是undefined。

修正后的代码

const https = require('https');
const WebSocket = require('ws');
const wss = new WebSocket.Server({port: 3000});
......

wss.on('connection', ws => { // 将参数名改为ws,避免覆盖服务器实例
  console.log("Connected.");
  console.log(wss.clients); // 现在可正常访问服务器的客户端集合
});

......

补充说明

  • wss.clients是一个Set集合,包含当前所有连接到服务器的客户端对象,若要查看连接数量可使用wss.clients.size。
  • 如需遍历所有客户端,可通过wss.clients.forEach(client => { ... })操作每个连接。

内容的提问来源于stack exchange,提问作者YOWOT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:36:23