Javascript 断开socket.io室中所有用户的连接
我一直在尝试在管理员希望的时候断开所有用户与文件室的连接。 我可以从房间中获取插座ID,但在尝试断开连接或离开房间时会出错 这就是我连接的方式:Javascript 断开socket.io室中所有用户的连接,javascript,socket.io,Javascript,Socket.io,我一直在尝试在管理员希望的时候断开所有用户与文件室的连接。 我可以从房间中获取插座ID,但在尝试断开连接或离开房间时会出错 这就是我连接的方式: var io = require('socket.io'), http = require('http'), server = http.createServer(), io = io.listen(server); io.sockets.on('connection', function(socket){
var io = require('socket.io'),
http = require('http'),
server = http.createServer(),
io = io.listen(server);
io.sockets.on('connection', function(socket){
//socket.join('groupname');
console.log('User connected');
socket.on('disconnect', () => {
console.log('User disconnected...');
})
//This is how the room is connected to
socket.on('group', function(groupname) {
socket.join(groupname);
});
socket.on('completed', function(groupname) {
var users = io.nsps["/"].adapter.rooms[groupname]
console.log(users)
for(var i = 0; i < users.length; i++){
console.log(users[i])///undefined
}
});
})
谢谢你的帮助
Roy完成了这项工作,特别感谢tienthanh8490澄清了Socket.io中的数据管理 我想我以前所做的,尤其是我的第二个例子是;尝试在字符串上启动函数 不管怎样,这是有效的
socket.on('completed', function(groupname) {
io.of('/').in(groupname).clients(function(error, clients){
if (error) throw error;
for(var i=0; i <clients.length; i++){
io.sockets.connected[clients[i]].disconnect(true)
}
});
socket.on('completed',函数(groupname){
('/').in(groupname).clients(函数(错误,客户端)中的io.of('/')){
如果(错误)抛出错误;
对于(var i=0;我很完美,在版本2.0.0中工作得很好。谢谢!没问题,很高兴它有帮助
socket.on('completed', function(groupname) {
io.of('/').in(groupname).clients(function(error, clients){
if (error) throw error;
for(var i=0; i <clients.length; i++){
io.sockets.connected[clients[i]].disconnect(true)
}
});