Je passe d'un sondage ajax à un push de données live socket.io mais j'ai une question sur les meilleures pratiques de gestion d'événements.Meilleure pratique pour gérer les événements Socket.io?
Disons que j'ai un serveur de base comme celui-ci:
var Clients = [];
// Event fired every time a new client connects:
io.on('connection', function(socket) {
Clients.push(socket);
// What else should go in here?
// Individual functions for each event?
socket.on('chat message', function(msg){
console.log(':> '+msg);
io.emit('chat message', msg);
});
// When socket disconnects, remove it from the list:
socket.on('disconnect', function() {
var index = Clients.indexOf(socket);
if (index != -1) { Clients.splice(index, 1); }
});
});
Dans l'exemple il y a un événement chat message
, mais idéalement il y a beaucoup d'autres événements que je voudrais pousser à des clients en temps réel, tel que:
L'utilisateur envoie un message, l'utilisateur commence/arrête de taper, l'utilisateur aime un message, l'utilisateur vous invite à devenir un ami/membre du groupe, etc.
Il y a beaucoup d'événements que je voudrais capturer en temps réel mais il semble qu'il doit y avoir une meilleure manière que bachotant l'instruction io.on()
pleine de tous.
J'ai examiné Node OOP mais je ne sais pas si cela aiderait nécessairement dans cette application. Donc, là où nous avons les déclarations socket.on()
, quelle serait la meilleure pratique pour inclure l'événement attraper comme je l'ai décrit?
@DanL - J'ai ajouté un autre paragraphe sur une autre option pour la modularité. – jfriend00