Socket.io socket.handshake не определен при отключении - PullRequest
0 голосов
/ 31 марта 2020

У меня есть сервер NodeJS с socket.io, и он настроен на прослушивание события disconnect:

io.on('connection', function(socket) {
    console.log(socket.handshake); // this works
    console.log(socket.handshake.cookie);

  socket.on('disconnect', function(socket) {
    console.log(socket.handshake); // this does not
    console.log(socket.handshake.cookie);

  });
});

В этом случае возвращается событие 'disconnect' socket.handshake не определено, поэтому вызывает TypeError: Cannot read property... et c. Событие connection регистрирует все как и ожидалось. Это потому, что заголовки не передаются при отключении, и если да, то какая информация передается ?

По сути, мои вопросы таковы:

  1. Как получилось вторая пара socket.handshake внутри события 'disconnect' return undefined?
  2. Если это вызвано тем, что disconnect событие socket отправляет разные данные, какие данные равны отправлено?
  3. Есть ли способ получить куки с события 'disconnect'?

Спасибо!

1 Ответ

1 голос
/ 01 апреля 2020

Попробуйте удалить аргумент socket в этой строке

   socket.on('disconnect', function(socket){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...