|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : septembre 2011 Messages : 3 ![]() |
Bonjour à tous,
En ce moment, je réalise un petit jeu RPG à cases avec un serveur PHP et un client JavaScript utilisant jQuery. Je me heurte à un problème : pour récupérer par exemple les positions des autres joueurs, et ainsi permettre aux joueurs de se voir interagir sur la map entre eux, je dois passer par une récupération AJAX de la liste des positions des joueurs connectés toutes les n secondes. Ceci interroge un fichier PHP qui liste les joueurs connectés, récupère toutes leurs positions et le renvoie sous format JSON. C'est lourd pour mon petit serveur perso chez OVH. Et surtout, ca lui donne souvent du travail pour rien (une requête est envoyée en l'air si personne n'avait bougé...). On m'avait proposé des alternatives : passer par un serveur "push". J'ai essayé par exemple BeaconPush ou encore PubNub, des services en ligne. J'aimerai maintenant pouvoir passer par un serveur à moi (mon ordinateur par exemple). J'aimerais avoir le schéma suivant : - Quand un joueur se déplace, le serveur PHP envoie la nouvelle position à mon serveur - Mon serveur push la nouvelle position au client javascript - Le client réceptionne les nouvelles coordonnées et met à jour la position de ce joueur sur la map. En résumé, je cherche donc à installer sur mon ordinateur un serveur pour pouvoir recevoir des données de mon serveur PHP mutualisé et les push au client JavaScript. En connaissez-vous ? Ou me conseillez-vous autre chose ? Merci d'avance pour votre aide et vos conseils ! |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
salut,
tu peux monter un serveur web sur ta bécane A. Le serveur ovh appel ta page web de A avec en paramètres les positions des joueurs ayant bougé. Ta bécane met à jour ses infos. Chaque joueur récupère la position des autres par ajax sur ta bécane. Il y a moyen de se faire plaisir avec les websockets, mais je connais pas du tout l'avancement. En revanche, c'est typiquement le pull (coté client) dans lequel tu es |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : septembre 2011 Messages : 3 ![]() |
En effet, ca peut être une bonne solution pour commencer, mais ce n'est pas durable, car il y a toujours des requêtes dans le vent (sauf que la c'est moi qui vais payer l’électricité
)Plus sérieusement, j'ai une préférence pour le push car c'est vraiment tu temps réel et pas de l'actualisation toutes les 5 secondes. Je regardai à l'instant http://www.ape-project.org/ Ca m'a l'air très intéressant mais je ne sais pas comment est fait le serveur, apparemment c'est du C, mais je n'ai jamais tapé une ligne de C... Sinon j'ai vu node.js, mais je ne vois pas, dans tous les cas, comment les lier à mon serveur PHP |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Étudiant Inscription : septembre 2011 Messages : 3 ![]() |
Il n'existe pas des serveurs tout faits qui reçoivent des sockets et push ?
|
|
|
00
|
|
|
#5 | ||||
|
Membre éclairé
![]() F5(){F5} Inscription : avril 2008 Messages : 256 ![]() |
re,
je viens de faire mumuse (stupidement) avec node, ca fait entre autre ce que tu désires. Jor ton client ouvre une socket avec le serveur, côté serveur, tu peux pusher quand tu le désires, et côté client, tu récupères l'info quand le serveur push. Ca donne un code très simple genre côté client : Code :
Code :
bon, c'est du code pompé chez socket.io, qui permet justement ces push, en tant que module pour node. |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com