@dimachornenkiy

Как правильно подключаться к socket.io?

Есть простенький сервер чата который отлично работает
var express = require('express');
var socket = require('socket.io');
var app = express();

server = app.listen(5000,console.log('server is running on port 3000'));

io = socket(server);

io.on('connection', (socket) => {
let currentRoom = 'data'
socket.join(currentRoom )

// прослушивание события отправки сообщения
socket.on('MESSAGE', function(data){
//подключение к комнате(ее ид приходит вместе с сообщением )
socket.join(data.room)
//отправка сообщения
io.to(data.room).emit('RECEIVE_MESSAGE', data);
})
});

Но вместо подключения и отправки сообщений в одном листнере, хочу подключаться по отдельному прослушиванию
// в newRoom передаю id комнаты
socket.on('move to room', function (newRoom) {
socket.leave(currentRoom)
socket.join(newRoom)
currentRoom = newRoom
})
но вместо того, чтобы подключаться к id комнаты переданной в newRoom, это хрень id подключение берет из id своего обьекта (this.id)
Как это можно починить или как id одной функции-листнера передать в другую???????????
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Все переменные комнат вынесите на уровень выше (в родительский scope).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы