socket.join(room[, callback])

  • room (String)
  • callback(Function)
  • Returns 连接的Socket

将客户端添加到room中,并根据需要触发带有err签名(如果有)的回调。

i.on('connection',(socket)=>{
    socket.join('room 237',()=>{
        let rooms= Object.keys(socket.room);
        console.log(rooms); // [ <socket.id>, 'room 237' ]
        io.to("room 237").emit('a new ueser has joined the room'); // 广播给房间里的每个人
    })
})

连接室的机制由已配置的Adapter(参见上面的 Server#adapter)处理,默认为socket.io-adapter

为了您的方便,每个socket自动连接由其ID标识的房间(请参见Socket#id)。这使得向其他socket广播消息变得容易:

io.on('connection',(socket)=>{
    socket.on('say to someone',(id,msg)=>{
        // 使用给定的ID向socket发送私有消息
        socket.to(id).emit("my message",msg)
    })
})

results matching ""

    No results matching ""