如何将客户放在动态nsp的房间中?

时间:2018-12-25 17:00:27

标签: node.js socket.io

这是我得到的错误:UnhandledPromiseRejectionWarning:错误:此名称空间没有适配器,您是否要获取动态名称空间的客户端列表?

我的nsp是动态的,那么不可能获得客户吗?有没有办法为此名称空间设置适配器?

// When a student joins, emit the number of students in the classroom 
nsp.in('students').clients((error, clients) => {
    console.log(error);
    nsp.to('instructors').emit(clients.length);
});

每个教室都有一个动态的nsp,例如以下课程/:courseId / classroom,我有两个房间的学生和讲师。

1 个答案:

答案 0 :(得分:0)

可以使用io.of(socket.nsp.name).adapter访问动态名称空间的适配器。

 io.of(socket.nsp.name).adapter.clients((_, clients) => {
    chat.emit("connectionChange", { usersOnline: clients });
 });