Как создать Middleware для сокетов? - PullRequest
0 голосов
/ 27 марта 2020

Используя узел + express, мы можем прикрепить Middleware к маршрутам. Но это можно сделать при использовании сокетов?

socket.on ('foo', middleware?)

1 Ответ

1 голос
/ 27 марта 2020

Да, чтобы выполнить функцию для каждого сообщения сокета, используйте это:

io.on('connection', (socket) => {
  socket.use((packet, next) => {
    if (packet.doge === true) return next();
    next(new Error('Not a doge error'));
  });
}); 

Для промежуточного программного обеспечения, которое будет работать только при начальном соединении сокета, используйте это:

io.use((socket, next) => {
  if (socket.request.headers.cookie) return next();
  next(new Error('Authentication error'));
});

Посмотрите на документы, это довольно хорошо: https://socket.io/docs/server-api/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...