Détecter la fermeture du navigateur coté server - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Détecter la fermeture du navigateur coté server (/showthread.php?tid=581) |
RE: Détecter la fermeture du navigateur coté server - Argorate - 20-02-2011 Moi aussi a un moment je voulais faire un jeu qui nécessitait de savoir quand un joueur quitter le jeu. J'ai abandonné l'idée en voyant que ce n'étais pas possible. L'astuce consistant a dire que s'il ne fait pas de rafrech durant X minutes <=> déconnecté peu fonctionner certes, mais n'est pas suffisante. En effet, un décalage de 5min est énorme! En 5min il peux se passer des tas de choses que tu ne contrôlent pas. Après perdre des ressources clients et serveur en faisant de l'ajax pour rafrechir un timestamp pour savoir s'il est encore là, c'est franchement du gâchis non? En revanche s'il existe un moyen de détecter la fermeture de la connexion avec un serveur push et de pouvoir le transmettre au serveur, cela pourrait être intéressant, c'est faisable avec beacon push par exemple? RE: Détecter la fermeture du navigateur coté server - niahoo - 20-02-2011 Ben beacon push c'est dans l'autre sens ! Donc je dirais non. Par contre, si au lieu de recenser en permanence quels joueurs sont en ligne, tu peux déterminer à quel moment tu as besoin de savoir quel joueur est en ligne, alors là le push est utile : Si tu as besoin de savoir si joueur/12 est en ligne, alors tu envoies un push a joueur/12 et s'il n'a pas répondu avec AJAX en 10 secondes alors il est déco. Mais ça nécéssite de pouvoir attendre ces 10 secondes, donc de bosser en asynchrone et pas de faire ça pendant un rafraichissement de page par exemple. RE: Détecter la fermeture du navigateur coté server - barst - 31-03-2011 Vous pouvez une solution basée sur l'évènement "onBeforeUnload" : Code : <html> Cette solution provient du lien suivant http://www.commentcamarche.net/forum/affich-2815788-javascript-detecter-l-evenement-fermeture Maintenant en remplaçant l'alert() par un appel AJAX à ton serveur tu as ta solution. |