简体   繁体   English

如何从 socket.io 中的套接字 id 获取套接字实例

[英]how to get the socket instance from socket id in socket.io

I want to find the socket instance using the socket id我想使用套接字 id 找到套接字实例

I saw a solution on stackoverflow and tried it, but it didn't work.我在stackoverflow上看到了一个解决方案并尝试了它,但是没有用。 Make specific socket leave the room is in 使特定套接字离开房间所在的位置

exports.removeParticipant = ({ data }) => {
    const { roomId, toBeRemovedSocketId } = data;
    const roomFound = rooms.find((room) => room.id === roomId);
    if (roomFound) {
      const user = roomFound.connectedUsers.find(
        (user) => user.socketId === toBeRemovedSocketId
      );
      /* Removing the user from the room.connectedUserArray . */
      roomFound.connectedUsers = roomFound.connectedUsers.filter(
        (user) => user.socketId !== toBeRemovedSocketId
      );
      //i tried this but it throws error 
      let socket = io.sockets.connected[toBeRemovedSocketId];
      socket.leave(roomId);
    }
   

my own research led me to a solution.我自己的研究使我找到了解决方案。

let socket=io.sockets.sockets.get(toBeRemovedSocketId);
socket.leave(roomId)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM