Question

Je tente d'obtenir une bonne façon de mettre à jour la base de données pour mon réseau social lorsque les utilisateurs se déconnectent, étant donné que l'utilisateur ne se trouve plus sur le site il y a des scripts ne peuvent pas être activés pour mettre à jour la base de données et émettre des événements vers d'autres utilisateurs sur le site, donc je pense que je dois le faire d'une façon lui-même sur le serveur, plutôt que de compter sur le script côté client.

en ce moment je fais quelque chose comme ça sur la partie côté serveur du script, (qui est chargé par l'utilisateur encore)

socket.on('disconnect', function () { 
socket.broadcast.emit('disconnect', { data : session});
}); 

ce qui déclenche alors l'événement sur le script côté utilisateur à nouveau, et il court un événement ajax pour mettre à jour la base de données MYSQL, puis déclencher un autre événement de socket pour envoyer aux utilisateurs informant que cet utilisateur déconnecté, mais cela ne fonctionne que si la l'utilisateur ferme son navigateur, mais pas comme fermer leur ordinateur portable, ou tout autre appareil, et il se fonde également sur l'envoi à d'autres utilisateurs pour eux de le manipuler, que je ne peux pas avoir passe.

Cela me troublait beaucoup, je dois trouver une solution.

Était-ce utile?

La solution

Utilisez ajax polling (envoyer continuellement ajax reqeusts que le serveur écoute et permet de délai d'attente au bout de 10 secondes) pour signaler que l'utilisateur est toujours en ligne. Lorsque cesse de recevoir des demandes au serveur, l'utilisateur a déconnecté.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top