io.sockets.clients(room).length在socket.io版本0.9.16& 0.9.17。
但似乎它不适用于socket.io版本1.0.4。
得到错误,例如" TypeError:对象#没有方法'客户'"
任何人都可以告诉我使用新socket.io需要进行哪些更改?
答案 0 :(得分:2)
从上一个问题:Listing all the clients connected to a room in Socket.io version > 1
To get socket IDs of the clients connected to a room use this code:
var namespace = '/';
var roomName = 'my_room_name';
for (var socketId in io.nsps[namespace].adapter.rooms[roomName]) {
console.log(socketId);
}
答案 1 :(得分:0)
io.sockets.clients(room)。根本不需要.length函数 您只需使用javascript代码即可构建客户列表
在服务器端继续创建新事件
var users={};
socket.on('addUser',function(username){
socket.username=username;
users[username]=username;
io.sockets.emit('updateUsers',users);
});
然后在客户端javascript文件中发出用户名
function addUser(){
socket.emit('addUser',prompt('What\'s your name'));
}