javascript - 断开客户端与socket.io id的连接

标签 javascript websocket socket.io

我可以将特定玩家连接到特定房间,例如:

socket.join('sampleroom');

文档说“您可以使用 left 方法来留出空间”,例如:

socket.leave('sampleroom');

但我只是希望任何客户端使用 io 对象而不是套接字离开。我需要类似的东西:

io.sockets(specificSocketID).leave('sampleroom');

有没有办法仅使用带有 io 对象的套接字 ID 来让客户端离开房间?

最佳答案

您可以将传入的套接字保存到您自己的对象中。

var sockets = {};
io.on('connection',function(socket){
    sockets[specificSocketID] = socket;
    io.on('disconnect',function(){
        delete sockets[specificSocketID];
    });
});
//then you can easily call a specific socket with its id
sockets[specificSocketID].join('sampleRoom');
sockets[specificSocketID].leave('sampleRoom');

关于javascript - 断开客户端与socket.io id的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36357354/

相关文章:

javascript - event.target.value 和 event.currentTarget.value 的区别

javascript - 如何从下拉菜单中获取值

flutter - 如何在 flutter 中订阅 Websocket 主题?

javascript - 避免 Redis 持久化(Socket.io + Cluster + RedisStore)

ios - 如何在 socket.io 中使用 SocketRocket?

javascript - 优化密集排名算法的性能

laravel - Beyondcode laravel-websocket 未连接到服务器

qt - QWebSocketServer 到不同的线程

Laravel Echo/Socket.io 在 sleep 后保持连接活跃

javascript - 为什么 JavaScript 不获取整个输入框?