如何在 socket.io 的中间件中获取事件详细信息

How to get event details in middleware for socket.io

我正在尝试为我的节点服务器上的每个事件记录 event nameparameter。为此,我使用了

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

现在,我在尝试获取事件名称和参数时卡住了。对我来说,这看起来像是 API 开发人员的共同需求,所以我很确定图书馆必须有某种方式来获得它,我已经尝试阅读文档和源代码,但我无法获得东西。

socket事件需要处理好,反正事件不处理是没有响应的。

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);
    });
})

希望对您有所帮助。