Je suis surtout à la recherche de conseils d'installation et des conseils sur la façon de s'y prendre. Je vais expliquer dans le plus de détails que je peux penser et noter également les approches possibles qui peuvent être plausibles. Le but de ceci est de créer un jeu de navigateur en temps réel, la meilleure méthode que j'ai trouvée pour mes besoins serait d'utiliser "longue interrogation" avec ajax, qui va fondamentalement configurer une requête avec le serveur qui va "se bloquer" Là, le serveur a quelque chose à envoyer, puis rétablir la connexion à la réception pour plus de données. Pour mes besoins, cela va gérer un système de chat ainsi que le mouvement des personnages, IE: si un joueur entre dans la même zone, les clients recevront une réponse pour les informer et ainsi mettre à jour le navigateur client pour le montrer. Ce qui précède est relativement facile à mettre en œuvre et j'ai déjà fait un cas de test pour cela, mais je veux l'améliorer, du côté du serveur, il exécute une boucle pendant X temps avant qu'il ne s'auto-temporise automatiquement et renvoyer et chaîne vide, donc une autre connexion peut être faite, c'est pour empêcher les boucles infinies et utiliser les ressources dans les cas où il ne devrait pas. Au lieu de rechercher la base de données sur chaque cycle de boucle (serait cher je crois) pour les messages qui doivent être envoyés au client, j'utilise flatfiles, si un fichier a un horodatage modifié supérieur au dernier message envoyé au client, alors il y a quelque chose de nouveau à envoyer. Cependant je crois que ce serait aussi cher (pas autant que d'utiliser une base de données mysql si) une fois fait quelques fois par seconde. Mon processus de réflexion sur ceci était d'avoir un programme C++ (pour la vitesse) constamment en cours d'exécution, et l'utiliser pour des recherches très rapides en mémoire pour les nouveaux messages et ainsi de suite, cela me donnerait aussi le bonus supplémentaire de pouvoir avoir des robots dans le jeu que le serveur peut contrôler pour une approche/approche plus en temps réel, mais je n'ai aucune idée si cela est encore possible et mes recherches sur google ont été infructueuses.Serveur de jeu par navigateur en temps réel
L'approche que j'aimerais le plus pouvoir faire, est de continuer à utiliser PHP pour faire le rendu et le contrôle de la page etc, et que les requêtes ajax vont à l'application C++ (qui sera toujours en cours) qui peut gérer tous les aspects en temps réel. CGI défait le but de l'approche ci-dessus, car il crée une nouvelle instance de l'application sur chaque demande, qui est à la fois lent et exactement ce que je ne veux pas, j'ai php pour cela et je ne veux pas changer un langage fonctionnant parfaitement pour un autre qui serait mieux adapté, PHP cependant (à ma connaissance) ne peut pas stocker des choses en mémoire (ram) et ainsi de suite.
Une autre approche que j'ai pensé était d'utiliser des sockets php pour se connecter à l'application C++, même si je n'ai aucune idée de la faisabilité. L'application C++ seulement fondamentalement aura besoin de contrôler les bots (AI) et les messages du système de chat .. Je n'ai absolument aucune idée de la façon de traiter les bots via PHP.
J'espère que cela explique pleinement ce que mes intentions et objectifs sont, donc si quelqu'un a des conseils ou des conseils alors s'il vous plaît répondez et aidez-moi, il serait très apprécié. Si vous avez besoin d'informations supplémentaires (si je n'ai pas couvert quelque chose ou quelque chose de très bien), je serai heureux de tenter de mieux vous expliquer.
J'ai regardé dans la comète et j'ai pensé qu'ils étaient trop limitatifs, j'ai vu le long travail d'interrogation pour un jeu RPG appelé Travians (Il est connecté à une adresse IP sur le port 8010). Le problème avec le langage de script est qu'il n'est pas persistant (je crois que c'est le mot correct? Pour élaborer ce n'est pas constamment en cours d'exécution, donc la gestion des états de bot avec lui serait un problème?) Pour expliquer davantage l'approche de travians , leur interrogation longue reçoit une chaîne de commande que le JS sur le client manipule plus loin, par exemple il recevra "MoveChar
Steve
Un langage de script peut être utilisé de manière persistante plutôt que simplement comme un backend de serveur Web. C'est ce que je fais avec Python et vous pouvez le faire dans n'importe quel langage de script (même PHP, bien que ce ne soit pas particulièrement adapté). Moi aussi j'utilise une chaîne de commande par ligne, bien que dans mon cas, ce sont des commandes de niveau inférieur comme '.1 f' (bouton gauche appuyé sur l'image de jeu 15). – bobince
Je n'ai aucune expérience avec python, c'est pourquoi j'ai d'abord choisi C++ pour cette zone, devrais-je utiliser les sockets php et me connecter à l'application C++ de cette façon sur chaque requête ajax? – Steve