javascript - Nodejs pass server data to the socket? -


i created user login nodejs , mongodb. have router. stripped of code out below, main routes concerned in question /profile , /logout routes.

basically want pass req or res data socket when route made. since routes on server not sure how emit data. mean typically emit client server , other way around, not server server.

so maybe being blind or not knowledgeable enough, question how can pass data socket.

module.exports.initialize = function(app, passport) {      app.get('/profile', isloggedin, function(req, res) {         res.render('profile', { user : req.user });         //socket.emit('user loggedin', { user : req.user })     });      app.get('/logout', function(req, res) {         req.logout();         res.redirect('/');     });       // route middleware make sure user logged in     function isloggedin(req, res, next) {         if (req.isauthenticated())             return next();         res.redirect('/');     }  }; 

side note: socket code sits in server.js example.

var users = {};  io.sockets.on('connection', function (socket) {      // listen new user emit user clients     socket.on('user loggedin', function (data) {          socket.username = data;         users[socket.username] = socket;         io.sockets.emit('user name', object.keys(users));         console.log(users);      });  }); 

basically want store logged in users inside object , emit client logged in users , allow them have live chat.

it appears need pass data socket, sure passing data simple, dont know how!

thanks!

clint side code username should unique

socket.emit('myname',{username:'uniqueid}); 

server side code

var onlineuser=[]; socket.on('myname',function(data){                       socket.username=data.username;                    onlineuser.push(data.username);                    io.sockets.emit('onlineuser',onlineuser);               });    socket.on('disconnect',function()           {               var i=onlineuser.indexof(socket.username);                  onlineuser.splice(i,1);               io.sockets.emit('onlineuser',onlineuser);           }); 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -