无法向socket.io中的房间发送消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法向socket.io中的房间发送消息相关的知识,希望对你有一定的参考价值。

每当用户连接它时,它会寻找一个房间,这个房间的人数少于其最大值,并加入它,如果没有,它会创建自己的房间。房间创建代码是完美的,我不提它顶部避免复杂性。我提到的代码没有执行:

server/server.js
if((player_lst.length) === 2){
    console.log(player_lst.length);
this.to(room_id).emit('quiz', {
    Question:questions
});}
else{
    console.log(player_lst.length);
    this.to(room_id).emit('waiting', {
       text:'waiting'
    });
}   

main.js

 socket.on('connect',function(){
  socket.emit('new_player',{
      id:socket.id
  });
  console.log('bnnn');
});
socket.on('quiz',gameplay);
  socket.on('waiting',function(data){
      console.log('bcbcb');
  var p= document.getElementById('message');
    p.innerhtml= data.text;
  });
答案

使用此代码向房间发送消息:

// sending to all clients in 'game' room except sender
socket.to('game').emit('nice game', "let's play a game");

参考:https://socket.io/docs/emit-cheatsheet/#

以上是关于无法向socket.io中的房间发送消息的主要内容,如果未能解决你的问题,请参考以下文章

如何使用nodejs socket.io向特定房间中的用户发送打字警报和消息

使用 socket.io 防止向多个房间发送消息

Socket.io 不会在断开连接时向房间发送消息

套接字 io 不向房间发送消息

socket io 广播、房间和确认功能

socket io 广播、房间和确认功能