In meiner Spielanwendung würde Ich mag für den Umgang mit Socket-Verbindung und Autorisierung und mehr Klassen für Ereignisbehandlung allgemeine Klasse haben, so:Ist es möglich, dem gleichen socket.io.on Event mehrere Handler hinzuzufügen?
//loading game/lobby/other socket routers
...
var socketRouter = function(server) {
var io = Io(server);
io.use(socketioJwt.authorize({
secret: config.secretKey,
handshake: true
}));
io.on("connection", function(socket) {
lobbySocketRouter(socket);
gameSocketRouter(socket);
//other routers
...
socket.on("disconnect", function() {
console.log("DISCONNECTED", socket.id);
});
});
};
Es ist kein Problem für verschiedene Router einzigartige Ereignisnamen zu generieren sich nicht gegenseitig stören. Das Problem ist in disconnect-Ereignis - Ich möchte, dass jeder Router die Möglichkeit hat, die richtigen Maßnahmen zu ergreifen. Ist es richtig, eigene Handler hinzuzufügen Ereignis in jedem Router so zu trennen, so dass jeder von ihnen auslösen würde:
//lobbySocketRouter
socket.on("disconnect", function() {
//handling lobbySocketRouter special actions
});
...
//gameSocketRouter
socket.on("disconnect", function() {
//handling gameSocketRouter special actions
});
?
Sie Zimmer nutzen kann und seine 'join' und' leave' Ereignisse, es ist flexibler als folgende 'disconnect' Ereignis für alle Veranstaltungen. –