IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Quelle solution pour un script à utiliser toutes les X secondes? [PHP 5.4]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut Quelle solution pour un script à utiliser toutes les X secondes?
    Bonjour,

    malheureusement, il s'agit d'un sujet que je ne maitrise pas du tout: un script qui tourne continuellement indépendamment.

    Ce que je souhaite faire:

    Depuis quelques temps je travaille sur un jeu en php,
    la gestion des combats, ect, tout se passe bien.
    En revanche, si le personnage perd de la vie, je souhaite qu'elle se remplisse toutes les X secondes. (voir peut être minutes, ça ferait quelques limites sur le jeu)

    A partir de là, se pose deux problèmes: l'affichage et le traitement.

    Donc l'affichage, j'imagine du javascript qui, à partir de la valeur donnée, va, toutes les X secondes, modifier l'affichage, pour mettre la valeure fictive.
    Sauf que cette valeur va pas être entrée en BDD par le javascript.
    Donc, dès que l'utilisateur va rafraichir la page, la valeur ne sera pas la bonne tant que le php n'ira pas rentrer la valeur dans la BDD.
    (le problème se poserait pas si le javascript était synchro avec le php)

    Et question traitement, comment faire pour, qu'en php, le script fasse regagner au personnage X PV toutes les X secondes (ou Minutes) ?

    Après j'imagine facilement que je pourrait enregistrer, la date du combat qui a fait tomber le personnage à Tel PV, et, à chaque fois qu'on va récupérer les données du personnage, lui modifier le nombre de ses PV en fonction de la date. Sauf que j'aime pas trop manipuler les dates, peur également que certains puissent tricher sur la date? (aucune idée si c'est possible)

    Bref, quelqu'un peut me lancer sur la bonne voie? Merci beaucoup

  2. #2
    Membre confirmé Avatar de greg91
    Homme Profil pro
    Administrateur système
    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur système

    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Par défaut
    Tu peux utiliser un sheduler (CRON sous linux et je sais plus sous Windows) pour lancer un script de traitement toutes les minutes par exemple.
    (Pense à vérifier que le précédent lancement est bien terminé)

    Après pour avoir du temps réel il faut te faire un deamon. Mais là je crois pas que PHP soit le plus adaptée.

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut
    Ma vm est sous débian.

    Donc le cron est le mieux adapté? Mais me semblait que c'était uniquement en 'minutes' que le timer se faisait?

    Et pour ce qui est de l'affichage, pour qu'il n'y ait pas de problème de désynchronisation si on rafraichit la page ?

    (Merci en tout cas )

  4. #4
    Membre confirmé Avatar de greg91
    Homme Profil pro
    Administrateur système
    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur système

    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Par défaut
    Avec CRON effectivement c'est 1 minute minimum.

    Tu aurais plus besoin d'un Démon.
    Après, un démon en PHP c'est sûrement possible mais sûrement pas le plus efficace.

    Si tu souhaites par exemple qu'il n'y ai aucun décalage entre ton affichage et ta DB, il te faut gestion en temps réel. Et là je suis pas un spécialiste mais il va te falloir un langage compilé rapide comme le C pour faire cela (sauf si vous êtes 10 à jouer sur le serveur )

  5. #5
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut
    Ok oh bah non je vais pas faire dans le complexe, soit j'opterais pour cron, soit je bidouillerais, merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Workshop HERE : quelles solutions pour les développeurs ?
    Par Hinault Romaric dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 28/04/2015, 13h49
  2. Quelle solution pour gérer les données techniques par affaire?
    Par NoemieR dans le forum Autres Solutions d'entreprise
    Réponses: 0
    Dernier message: 16/11/2012, 16h40
  3. [Graphics View] Quelle solution pour créer les schémas ?
    Par katanaenmousse dans le forum Débuter
    Réponses: 4
    Dernier message: 05/09/2010, 20h21
  4. Réponses: 2
    Dernier message: 28/06/2006, 08h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo