30-10-2012, 09:15 PM
Il se peut que Firefox dise bien à Socket.IO qu'il faut se déconnecter alors qu'Opéra ne le fait pas. Dans le cas d'Opéra, disconnect doit donc être appelé après le temps de timeout je pense.
30-10-2012, 09:15 PM
Il se peut que Firefox dise bien à Socket.IO qu'il faut se déconnecter alors qu'Opéra ne le fait pas. Dans le cas d'Opéra, disconnect doit donc être appelé après le temps de timeout je pense.
Citation :Il se peut que Firefox dise bien à Socket.IO qu'il faut se déconnecter alors qu'Opéra ne le fait pas. Dans le cas d'Opéra, disconnect doit donc être appelé après le temps de timeout je pense. Citation : Est-ce que le message de déconnexion finis tout de même par arriver (genre 20 secondes après) ? Code : debug - clearing poll timeout En effet, après 1 min 30 environ la fonction est appelée. Je n'avais jamais testé aussi loin. C'est pas vraiment temps réelle ca. Donc soit je m'en satisfait, soit je passe par un autre système checkant les connectés via le setinterval. Citation :Tu as quelle version de socket.io ?La dernière en date : 9.10 Merci à vous pour ces clarifications !
01-11-2012, 09:26 PM
Essaye avec ça peut être : http://stackoverflow.com/questions/12043...hr-polling
01-11-2012, 10:54 PM
Merci pour le lien, mon anglais n'est pas encore suffisement bon pour me permettre de trouver de bons résultats comme celui-ci.
Mais ca ne fonctionne toujours pas sous Opéra. de plus ca m'as permis de voir ceci : Code : debug - xhr-polling writing 8:: Donc ca ouvre bien une nouvelle connexion à chaque fois si je switch rapidement. Et ca détecte la multi-fermeture que bien plus tard. Maintenant ca, c'est sous la version 0.9.10, Ca peut changer quelque chose de passer en 0.9.9 ? J'ai aussi configuré en 'xhr-polling' pour testé, et cela ne résoud pas le problème. Il vaut peut-être mieux partir sur quelque chose de plus fonctionnel ? C'est quand même bizarre, car la doc l'indique comme étant stable. Et ma version d'opéra est à jour.
02-11-2012, 12:55 AM
Aide toi de google trad dans un premier temps
Pour les questions NodeJS, recherche sur stack et l'onglet "issues" des repo sur Github. C'est compliqué à voir pour les connexions, le principe du xhr-polling c'est que ça ouvre/ferme une connexion par intervalle. Du coup c'est moins réactif que les WS, il ne faut pas t'attendre à une déco à la seconde près. Tu peux essayer de réduire la durée du polling :
Voir si la déconnexion se déclenche plus rapidement qu'en 1m30. Tu peux aussi essayer les autres modes de transport (cf. Wiki de socket.io) voir si ça va mieux (JSON polling faudrait tester peut etre) Citation :C'est quand même bizarre, car la doc l'indique comme étant stable. Ne confonds pas la doc de Node et de socket.io ! Citation : Maintenant ca, c'est sous la version 0.9.10, Ca peut changer quelque chose de passer en 0.9.9 ? Ca peut être une solution. Tu sais il y a près de 400 tickets ouverts pour socket.io, c'est la folie quand tu y réfléchis. A une époque avec une ancienne version je m'étais aussi retrouvé bloqué pour je ne sais plus quelle raison. Sinon bienvenue dans le monde des modules Node : de nouvelles versions avec plus de bugs que les anciennes, une doc des dernières versions souvent manquante, des changements parfois controversés ou parfois trop lourds d'une version à l'autre, un support de module qui s'arrête du jour au lendemain... Sinon tu fais comme moi tu dis qu'opéra c'est de la merde et tu acceptes les remontrances de niahoo iffle:
02-11-2012, 01:33 AM
Ou alors t'as deux méthodes qui s'offre à toi.
Première méthode tu essayes de réduire la durée de timeout dans la config, par défaut c'est 60 secondes : https://github.com/LearnBoost/socket.io/...-Socket.IO . Deuxième méthode : T'implémentes toi même ton systèmes de "PING/PONG". Tu envois un ping, si le client te renvoi pas un pong au bout d'une certaine durée tu considères qu'il est déconnecté et tu fermes sa socket. (02-11-2012, 12:55 AM)Maks a écrit : Sinon tu fais comme moi tu dis qu'opéra c'est de la merde et tu acceptes les remontrances de niahoo iffle: Ben les utilisateurs d'opéra ont l'habitude des sites qui leurs disent que leur navigateur n'est pas supporté. Alors je suppose que comme moi ils ont l'habitude d'en avoir un second pour certains sites Si tu regardes les parts de marché des navigateurs sur PC tu verras que tu peux te passer de ce support en fait. Par contre, votre truc là c'est du polling tout moche ou on peut faire du long polling ? Sinon perso je compte utiliser sockjs, socket.io n'était pas compatible erlang lors de mon choix. Et il a l'air sympathique. https://github.com/sockjs/sockjs-node Après la seule doc ce sont les README de github mais ils sont bien faits. (j'ai pas lu celui pour node mais ça doit être dans la même veine)
02-11-2012, 02:17 AM
(02-11-2012, 01:33 AM)quentin01 a écrit : Première méthode tu essayes de réduire la durée de timeout dans la config, par défaut c'est 60 secondes : https://github.com/LearnBoost/socket.io/...-Socket.IO C'est plus au niveau du close timeout que ça se passe ouep Citation :Ben les utilisateurs d'opéra ont l'habitude des sites qui leurs disent que leur navigateur n'est pas supporté. Alors je suppose que comme moi ils ont l'habitude d'en avoir un second pour certains sites 2 Pour les WS ça sera de l'histoire ancienne pour Opera avec la 12.1 ^^ SockJS j'en ai entendu parlé aussi, y'a nowjs pour Node aussi dans les plus connus mais ça a plus l'air à jour
02-11-2012, 02:36 PM
Faut pas oublier que ca reste aussi nouveau tout cela. Pas très bien gérer partout.
Je sais que je pourrai oublier Opéra, mais imagine que je me base sur ce 'disconnect', Je pourrai me retrouver avec un joueur qui soit afficher plusieurs car plusieurs connexion ont été ouverte. Au final j'entrevoie comme solution : - Le ping pong, que je trouve moins optimisé - Toujours utilisé le 'disconnect' en accordant que ce ne sera pas tout a fait temps réel selon certains navigateur. Et en ajoutant une fonction qui vérifie si le joueur est déjà afficher comme connecté pour ne pas l'avoir en doublons. Je pense utilisé la 2e. De toute façon, que le joueur soit affiché déconnecté de suite ou 1 min après, c'est pas comme si c'était vraiment essentiel. Ca reste qu'un tchat. |
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
php et balise de fermeture | Air | 4 | 1 897 |
20-07-2018, 11:56 PM Dernier message: Air |
|
Détecter la fermeture du navigateur coté server | Furukoo | 22 | 12 749 |
31-03-2011, 08:33 PM Dernier message: barst |