Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

chamuska

Chat com salas no nodejs ?

Recommended Posts

Pessoal, estou estudando o Nodejs e estou fazendo um chat, porem, estou com problemas para separar os usuários por salas.

Alguem ai manja de Node e sabe se ele tem alguma função pronta para separa os usuários por sala ou devo controlar as salas por programação ?

 

Tentei usando o comando socket.join(sala);, porem, ainda mistura as mensagens das salas.

 

Meu código completo esta assim:

var express = require('express');
var app =   express();
var bodyParser = require("body-parser");
var http = require('http').Server(app);  
var io = require('socket.io')(http);

var nome = "";
var sala = "";

app.use(bodyParser.urlencoded({ extended: false }));

// pagina inicial/login
app.get('/', function(req, res){  
  res.sendFile(__dirname + '/index.html');
});

// ao carregar chat
app.post('/chat', function(req, res){  
  res.sendFile(__dirname + '/chat.html'); // html do chat
  // dados do post
  nome = req.body.nome;
  sala = req.body.sala;
});

// quando alguem conecta, entra aqui!
io.on('connection', function(socket){
    // imprime dados do post
    console.log('um usuario conectou: '+nome+" - sala: "+sala);

    // adicio o usuario na sala
    socket.join(sala);

    // se desconectar
    socket.on('disconnect', function(){
      console.log('usuario desconectou');
    });

    // quando alguem envia uma msg
    socket.on('setMessage', function(msg){  
      //envia a msg para todos
  	   io.emit('sendMessages', msg); 
  	});

});

http.listen(3000, function(){  
  console.log('servidor rodando em localhost:3000');
});

Vlww!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.