Tuesday, January 10, 2017

How to get event details in middleware for socket.io

Leave a Comment

I am trying to log the event name and parameter for each event on my Node server. For this purpose I used

io.use(function(socket, next){   // how to get event name out of socket. }); 

Now, I got stuck while trying to get event name and arguments. To me, it looks like common demand from API dev, so I am pretty sure there must be some way to the library to get that, I have tried to read the docs and source but I am not able to get the stuff.

1 Answers

Answers 1

The socket events needs to be handled properly,in any case if an event is not handled there will be no response.

var io = require('socket.io')(server); var sessionMiddleWare=(session({secret: 'secret key', resave: true, saveUninitialized: true,cookie: { path: '/', httpOnly: true, maxAge: 300000 },rolling: true}));  app.use(sessionMiddleWare)  io.use(function(socket, next) {   sessionMiddleWare(socket.request, socket.request.res, next); });  io.on('connection', function(socket) {  // On Socket connection.    // inside this you can use different events     //event name and parameters can be found in socket variable.     console.log(socket.id) // prints the id sent from the client.    console.log(socket.data) // prints the data sent from the client.     // example event     socket.on('subscribe', function(room) {  // Event sample.         console.log('joining room', room);         socket.room=room;         socket.join(room);     }); }) 

Hope this helps.

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment