[Push] Détecter la présence des membres - 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 : [Push] Détecter la présence des membres (/showthread.php?tid=5307) |
[Push] Détecter la présence des membres - djidi - 12-03-2011 Bonjour, Après avoir regardé sur différents services de push (Pusher, BeaconPush et PubNub), je me pose une question : comment détecter la connexion/déconnexion d'une personne ? Pour la connexion, rien de difficile, je peux envoyer un message à l'initialisation, mais comment savoir quand quelqu'un n'est plus connecté (exemple: supprimer le personnage de la map) ? Mis à part pour Pusher (http://pusherapp.com/docs/presence), je n'ai rien pu trouver dans les docs des autres services. J'en profite également pour demander parmi ses services, lequel est le plus fiable/rapide. Merci d'avance RE: [Push] Détecter la présence des membres - Sephi-Chan - 12-03-2011 PubNub ne supporte pas du tout la notification lors que la connexion est fermée. Pusher le supporte. BeaconPush le supportera bientôt par l'intermédiaire de Webhooks (des URLs appelée à la connexion et à la déconnexion). Je dirais que le plus fiable est PubNub, qui utilise directement la technique du Long Polling. À l'inverse, les autres tentent d'autres approches (plus modernes et efficaces, mais moins supportées) et dégradent progressivement vers le Long Polling (en passant d'abord par FlashSocket), mais le procédé de fallback merdouille parfois (à cause des Flash blocker, par exemple)… Sephi-Chan RE: [Push] Détecter la présence des membres - djidi - 12-03-2011 Donc malheureusement étant donné que je dois gérer les présences, je suis obligé de passer par Pusher. Merci pour la réponse RE: [Push] Détecter la présence des membres - Argorate - 14-03-2011 Ça dépend se que tu veux faire avec la "présence" de personne, mais tu peux gérer ça sans passer par les info du push serveur également... RE: [Push] Détecter la présence des membres - djidi - 14-03-2011 Marqué dans mon premier message. J'ai besoin de savoir exactement quand est en ligne un personnage et lorsqu'il se déconnecte afin qu'il ne reste pas indéfiniment sur la map et je vois mal comment gérer cela correctement sans push... RE: [Push] Détecter la présence des membres - Argorate - 14-03-2011 Dans ce cas, oui, tu as besoin d'une précision assez forte, donc il faut utilisé les info du push. Sinon sur beacon push, il me semblait avoir vu dans l'api le moyen de voir qui était en ligne aussi non? Citation :User-centered API resources source : http://beaconpush.com/guide/rest-api/ RE: [Push] Détecter la présence des membres - Sephi-Chan - 14-03-2011 Savoir qui est en ligne est une chose. Déclencher un événement quand quelqu'un se déconnecte en est une autre. Si tu disposes d'un serveur dédié pour daemonizer un script PHP qui utilisera Redis, il y a peut-être moyen de faire quelque chose de sympa grâce à la commande expire. Sephi-Chan RE: [Push] Détecter la présence des membres - Argorate - 14-03-2011 non, mais si l'user n'est pas en ligne, la cmd qui permet de savoir si il est en ligne doit renvoyer un signalement particulier (typiquement "false"), donc ça revient au même non? au lieu de tester s'il se déconnecte, tu test si il n'est pas en ligne. RE: [Push] Détecter la présence des membres - djidi - 14-03-2011 Pas sur que j'arrive à maitriser Redis (et après une nuit blanche et un mal horrible de crâne j'en doute encore plus ^^) et si je pars dans cette voie, j'ai l'impression que je vais encore y passer des semaines pour comprendre comme je les ai passé avec APE. Il est vrai que je serais bien passé par BeaconPush étant donné qu'il permet d'envoyer beaucoup plus de messages et avec beaucoup plus d'utilisateurs connectés mais avec Pusher au moins je sais que cela fonctionne correctement. RE: [Push] Détecter la présence des membres - Sephi-Chan - 14-03-2011 Rien ne t'empêche d'utiliser plusieurs services de push en même temps. Tu peux utiliser Pusher seulement pour notifier quand un utilisateur se barre. Redis est plutôt trivial à utiliser, c'est son crédo. La partie chiante, c'est le daemon qui regarde qui se barre. Sephi-Chan |