Socket.io客户端如何知道用户是否已连接到频道

时间:2019-04-22 23:08:33

标签: javascript socket.io

在Mysocket中,我列出了用户可以订阅取消订阅的可用“房间”列表。用户可以在同一视图中订阅和取消订阅不同的房间。

我尝试使用此方法解决此问题,但问题是套接字正在使用当前事件('subscribe'或'unsubscribe')更新每个 room ,而不仅仅是使用是必需的。我有一个处理套接字状态的对象:

const rooms = {
            1: {  id: 1, isConnected: true },
            2: {  id: 2, isConnected: true },
            3: {  id: 3, isConnected: false
            }
          };

subscribeSocketLive( rooms ){
    _.each(rooms , room => {
        if(room.isConnected ){
          mySocket.emit('subscribe',  Number( room.id ) );
      }
      else if( !room.isConnected ){
        mySocket.emit('unsubscribe',  Number( room.id ) );
      }
    });
  },

我正在根据用户的交互情况在单独的文件中处理对象室。因此,我认为这并不重要,但是如果您需要更多信息,可以在此处发布。

0 个答案:

没有答案