JeuWeb - Crée ton jeu par navigateur
Démon et jeu en php - 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émon et jeu en php (/showthread.php?tid=1291)

Pages : 1 2 3


RE: Démon et jeu en php - Cartman34 - 05-05-2008

Raoull -> C'est un processus différent de celui d'apache, il n'y a pour limite que celle du serveur.
Mais normalement si tu execute un script long, apache ne prend quand même pas tout le proc, c'est juste qu'il est bien occupé.
Après pour la ram, je pense pas que le probleme se pose sur les serveurs actuels...

Ren Nelos -> On réduit meme la limite de temps limite d'execution à 0 pour le protéger des connexion via le navigateur(ce qui peut etre en fait inutile sur un vrai démon). En fait, il s'agit d'un module PHP (CLI) qui lui permet de focntionner en ligne de commande(sur console) et apparement ce serait lui qui permet une execution d'un temps "infini" du script.

Amrac -> Je n'ai pas trouvé que la connexion directe au client était intéressante donc le démon recoit les données d'apache pour ma part.
J'ai vu différent sur le chat mais ca occupe le serveur un peu trop selon moi(connexion ininterrompue).
La connexion ininterrompue est utilisée, je pense, quand le démon doit renvoyé des informations à plusieurs reprises, autrement c'est inutile pour un jeu par exemple(sauf si vous poussez le vice bien loin).
Donc ar exemple, mon démon recoit les informations comme ceci:
Clients -> Serveur apache -> Démon.


RE: Démon et jeu en php - Amrac - 05-05-2008

Ok, donc tu remplace juste le PHP traditionnel par un démon.

La charge ne sera pas forcement moindre, car pour un chat tu ne pourras plus actualisé que quand il y a du nouveau, tu devras actualisé toutes les X secondes comme un chat PHP classique non?


RE: Démon et jeu en php - Cartman34 - 05-05-2008

Comme je l'ai dis dans mon précédent message, certes un peu cafouilleux, pour un chat, on peut utiliser une connexion ininterrompu durant laquelle le démon peut envoyer le message à tous les connectés.
Je ne suis pas encore au point sur le fonctionnement de ce systeme mais il faut apparement se conencter directement au serveur en naviguant sur {ip}:{port}
Le démon fait bien plus que gerer le simple PHP, je ne vais pas l'utiliser pour gérer les sessions par exemple et il ne fera pas tout ce qui est affichage dans le cadre d'un jeu en PHP.


RE: Démon et jeu en php - Ekilio - 06-05-2008

Salut,

Très honnêtement, pour avoir testé les perfs de ce genre de daemons, je pense que PHP n'est pas très adapté.

C'est assez gourmand en ressources, même en daemon et donc libéré du serveur Apache, et du coup pas super rapide.

Python par exemple me semble un meilleur choix, surtout si tu disposes d'un hébergement dédié : il est très simple à apprendre et possède de nombreuses possibilités. Et surtout, il est nettement plus léger que PHP.


RE: Démon et jeu en php - Cartman34 - 07-05-2008

Je ne connais pas la consommation de Python.
Mais en forcant pas mal, j'ai réussis à faire atteindre les 50% à mes 2 proc en envoyant plein de requete à la suite au démon.
Quand il tourne en boucle et ne recoit rien, il ne consomme rien(0%).


RE: Démon et jeu en php - Ekilio - 07-05-2008

Je suppose que ça dépends pas mal de ce que tu lui fait faire.

Je sais que lorsque j'avais testé, j'avais pour but d'écrire une image dans un fichier, générée par GD à partir de données dans une base de données.

Et, mais c'est apparement un problème propre à PHP, l'écriture du fichier (et juste ce moment précis) utilisait à peu près 25% de mon processeur (un seul), donc si quatre utilisateur la demandaient en même temps, c'était maximum. Mais cela dépends très probablement des usages, comme je le disait (l'écriture du fichier posait de très très gros problèmes, c'est pour ça que je suis passé sur du Python, que j'utilise Apache, un démon ou un exec())


RE: Démon et jeu en php - Cartman34 - 08-05-2008

Même sans démon, tiliser la lib GD demande pas mal de ressource.
Et puis ici c'est un forum PHP, donc je montre du PHP Tongue

Je voudrais que le démon gère des utilisateurs mais je ne sais pas si je dois faire une nouvelle class Website(équivalent à Game dans le cas d'un jeu) ou tout faire avec la class Server.
Quel est le mieux? Que ce soit le Server qui créé les utilisateurs et les gère? ou une class Website?
Pour l'instant, j'ai une préférences pour la 2eme solution.


RE: Démon et jeu en php - Ekilio - 08-05-2008

J'aime bien séparer clairement les différentes parties. Le serveur gère les paquets réseau, le Website gère les utilisateurs, le Toto gère les cours de maths.

Et pour GD, étrangement ce n'est pas GD qui posait problème, mais vraiment l'écriture du fichier : lorsque je me contentait d'afficher l'image, je pouvais monter à 3000 affichage strictement simultanés.


RE: Démon et jeu en php - Cartman34 - 12-05-2008

Ekilio-> J'ai choisis cette solution meme si pour les requetes SQL, je ne l'ai assimilé à aucun objet.

J'ai pas mal avancé car maintenant le démon, gère les utilisateurs lié au site(Création).
Ca fait pas mal de POO.
Quand celui-ci gèrera bien les utilisateurs(Création + Edition + Suppression), je pense le mettre OpenSource sur JeuPHP.


RE: Démon et jeu en php - Cartman34 - 14-05-2008

Où dois je le publier quand il est achevé?

J'ai eu quelques petits problèmes avec mysql, ce n'est dit nul part dans la doc que la connexion se perd lors d'une duplication de processus...
Alors j'ai eu droit à la merveilleuse erreur qui est: "MySQL server has gone away".