io.sockets.in(room).emit() not working

2019-08-03 08:26发布

For some reason when I want to emit to sockets in a given room I get nothing. It does work when I emit just to one specific socket, however. Here is my code:

//client side
var socket = io();
var room = "abc";
startButton.onclick = function(){
    socket.emit('startGame',{room:room});
}

socket.on('startGameResponse', function(msg){
    console.log(msg);
});

//server side
var serv = require('http').Server(app);
var io = require('socket.io')(serv,{});

io.sockets.on('connection', function(socket){

socket.on('startGame',function(data){
    var room = data.room;
    socket.join(room);

    io.sockets.in(room).emit('startGameResponse','player joined');

}

0条回答
登录 后发表回答