我正在尝试显示特定房间中的客户列表。我只想显示他们的用户名,而不是他们的套接字 ID。
这是我所在的地方:
socket.set('nickname', "Earl");
socket.join('chatroom1');
console.log('User joined chat room 1);
var roster = io.sockets.clients('chatroom1');
for ( i in roster )
{
console.log('Username: ' + roster[i]);
}
没有任何运气让它列出套接字 ID 或任何东西。但是希望它返回昵称。
原文由 Taurian 发布,翻译遵循 CC BY-SA 4.0 许可协议
只是几件事。
当你有
socket
你可以设置如下属性:socket.nickname = 'Earl';
稍后在控制台日志中使用保存属性:console.log(socket.nickname);
您在以下位置缺少结束引号 (‘):
console.log('User joined chat room 1);
下面是修改后的代码应该可以帮助你一点,还要注意我在下面使用的循环是异步的,这可能会影响你处理数据传输的方式。
为了帮助您更多,我需要查看您的所有代码,因为这没有给我上下文。