-
Unicité de la session
Bonjour.
J'ai un projet de création de jeu en temps réel en php (dans le genre d'astrowars).
Il faudra bien évidement être enregistrer.
Pour se logger,je voudrais me tourner tout naturellement vers un système de session.
Comment je peux être sur qu'un joueur qui se logge ne déclanche qu'une seule session.
Si je me logge à partir de firefox et à partir IE, je veux pas que ca m'ouvre 2 session pour le même utilisateur.
Je m'explique comme c'est un jeu en temps réel, pour atteindre un certain level de sciences, si j'ai 50pts/h. En 10h j'ai 500pts.
Es ce que si je me logge sur IE et FF en même temps je ferai 50*2 soit au bout de 10h 1000pts?
-
Hello,
A mon avis, ce problème n'en est pas un ;) ! En effet, toute cette logique des pts/h, etc... est gérée du côté serveur (on peut imaginer un script php qui, appelé chaque heure par une tâche cron, incrémente le nombre de points de chaque joueur) !
Ainsi, le fait d'avoir plusieurs navigateurs ouverts sur sa machine n'accélérera rien du tout :mrgreen: !
Cependant, si ça te gêne quand même, tu peux imaginer un système de stockage des sessions dans une base de données. En plus de l'identifiant de session, tu peux par exemple stocker l'identifiant de l'utilisateur, et son adresse IP ! Voire que son identifiant... Et au login, tu vérifies qu'il n'y a pas de session en cours pour cet utilisateur. Le problème, c'est qu'il faut introduire une notion de validité pour ta session, de manière à ce que si l'utilisateur ferme son navigateur sans se délogguer (donc la session sera détruite du point de vue de PHP et de son navigateur, mais toujours stockée dans la DB), il puisse à nouveau se reconnecter !
J'espère que ces quelques idées t'aideront ! Tiens-nous au courant !
-
Ca peut être un bon début.
Je vais tester si il peut y avoir un problème.
Merci beaucoup!