Socket.IO ermöglicht Middleware-Funktionen, Fehler zu übergeben.Benutzerdefinierte Socket.IO Middleware Fehlerereignisse?
var io = require('socket.io')();
io.use(function(socket, next){
if (socket.request.headers.cookie) return next();
next(new Error('Authentication error'));
});
Der Client kann auf diese Fehler warten, indem er auf das Standardereignis 'error' wartet.
clientIO.on('error', function(err) {
console.log(err);
}
Gibt es eine Möglichkeit Socket.IO Middleware emit benutzerdefinierte Ereignisnamen anstelle von ‚Fehlern‘ (zum Beispiel ‚AUTHENTICATION_ERROR‘) zu haben?
Es scheint, als ob der Server die Fehlermeldung („Authentifizierungsfehler“) emittiert anstelle des gesamten Objekts Fehler, so dass es Es gibt keine Möglichkeit, auf die anderen Eigenschaften des Error zuzugreifen. Nicht sicher, ob dies ein nicht verwandtes Problem ist oder nicht. – user2901933
Scheint, für mich mit der aktuellen Version von 'socket.io' (1.4.8) gut zu funktionieren. [Hier ist ein Kern] (https://gist.github.com/robertklep/a8adbdf15a210ac432e4cc1a75d912bf) mit dem Code, mit dem ich getestet habe. Ich glaube, dass Sie 'err.data' verwenden müssen, und keine zufällige Eigenschaft wie' err.type' oder so etwas. – robertklep