我试图在特定的房间显示客户列表.我只想显示他们的用户名,而不是他们的套接字号.
我在哪里:
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]); }
没有任何运气得到它列出Socket ID或任何东西.希望它能够返回昵称.
解决方法
只是一些事情
>当你有套接字时,你可以设置如下的属性:socket.nickname =’Earl’;稍后在控制台日志中使用save属性:
的console.log(socket.nickname);
你在哪里缺少一个结束报价(‘):
console.log(‘用户加入聊天室1);
>我不完全确定你的循环.
下面是修改后的代码应该帮助你一点,也要注意下面我使用的循环是异步的,这可能会影响你如何处理数据传输.
socket.nickname = 'Earl'; socket.join('chatroom1'); console.log('User joined chat room 1'); var roster = io.sockets.clients('chatroom1'); roster.forEach(function(client) { console.log('Username: ' + client.nickname); });
为了帮助你更多,我需要看到所有的代码,因为这不给我上下文.