2016-08-08 7 views
2

У меня возникли проблемы с socket.io. Я пытаюсь создать соединение с одним сокетом, где это связано с несколькими комнатами.(Socket.io) Одно гнездо соединение несколько комнат

Это мой текущий код:

function JoinRoom(id){ 
    socket = io(domain); 

  socket.on('connect', function (data) { 
     console.log('Connected to ' + room); 
     socket.emit('room', room); 
    }); 

    socket.on('message', function (data) { 
     console.log(data); 
    }); 
} 

Проблема заключается в том, что если я удалю УАК Socket.io (домен) функция не была связана и не получают данные из комнаты.

Пример:

socket = io(domain); 
function JoinRoom(id){ 

  socket.on('connect', function (data) { 
     console.log('Connected to ' + room); 
     socket.emit('room', room); 
    }); 

    socket.on('message', function (data) { 
     console.log(data); 
    }); 
} 

Если взять функцию socket.io() функции JoinRoom() Я не получаю сообщения сообщений или что-нибудь. Это не работает. Что я делаю неправильно? Любое решение?

ответ

0

На клиенте создайте событие для указания комнаты доступа.

На сервере примените логику доступа.

Client

var socket = io('http://localhost'); 

function JoinRoom(data){ 
    socket.emit("join", data); 
} 

var data = { 
    room:'ejemplo' 
}; 

JoinRoom(data); 

Сервер

var io = require('socket.io')(app); 

io.on('connection', function(socket){ 
    socket.on('join', function(data){ 
     console.log(data); // data = { room: String, ...} 
     socket.join(data.room); 
    }); 

socket.on('leave', function(data){ 
    socket.leave(data.room); 
}); 
Смежные вопросы