Мне нужно проверить аутентификацию для моего подключения к сокету и удалить его, если они не удались. Мой код сервера и клиента выглядит следующим образом:
// сервер.js
var http = require('http');
var sio = require('socket.io');
var app = require('express')();
var server = require('http').createServer(app).listen(3000, function () {
console.log('Server listening on 3000 port');
});
var io = sio.listen(server);
io.use(function (socket, next) {
return next(new Error('Not Authenticated'));
});
// клиент.js
var socket = io.connect(window.location.origin);
socket.on('connect', function () {
console.log('socket connected')
});
Моя проблема в том, что я не могу зафиксировать ошибку Not Authenticated
на стороне клиента, чтобы обработать ее и, например, показать всплывающее окно.
Теперь, если ошибка Not Authenticated
выполняется на стороне сервера, соединение с сокетом все еще сохраняется, но ни один из socket.emit('message')
не работает.
Как я могу зафиксировать эту ошибку на стороне клиента, чтобы принять какое-то решение?