node.js - socket.io not sending to room using socket.to('myroom').emit -
i using socket.io 1.4.0.
i trying send message put client in room called 'myroom', send message room client , response room. no response using
socket.to('myroom').emit('message', 'what going on, party people?');
here client code:
socket.on('connect', function() { // connected, join booking room receive messages room socket.emit('room', 'myroom'); }); socket.on('message', function(msg){ console.log('message: ' + msg); }); socket.emit('booking room message', {roomid: 'myroom', message: 'hello'});
here server code:
// set socket.io server var io = require("socket.io")(server) .use(function(socket, next) { // wrap express middleware sessionmiddleware(socket.request, {}, next); }) .on("connection", function(socket) { console.log(socket.request.session); if (socket.request.session.passport) { var userid = socket.request.session.passport.user; //sign client room client side. socket.on('room', function(room) { socket.join(room); console.log(userid + ' has joined booking room: ' + room); }); //make room user socket.join(userid); console.log("user id: " + userid + " connected. socketid: " + socket.id); socket.on('disconnect', function() { console.log("user id: " + userid + " disconnected."); }); socket.on('booking room message', function(data) { console.log('message sent browser room'); console.log(data); socket.to('myroom').emit('message', 'what going on, party people?'); }); } });
i message server expected when use :
socket.emit('message', 'what going on, party people?');
so there wierd going on join room function. couple of things note, have middleware tha gets id express - dont think having impact. create seperate room userid.
can user in 2 rooms @ once? not sure causing this.
thanks,
it seemed neither or in send response same client. code above did send other clients in room however.
Comments
Post a Comment