JeuWeb - Crée ton jeu par navigateur
Serveur / Temps-réel - 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 : Serveur / Temps-réel (/showthread.php?tid=3125)

Pages : 1 2 3


RE: Serveur / Temps-réel - Ter Rowan - 02-12-2010

(02-12-2010, 05:24 PM)Dexyne a écrit : Pourquoi ne peut-il pas envoyé d'infos ?
Dans un navigateur je ne sais pas trop, mais après une application (à installer) peut le faire non ? (si on accepte d'en recevoir) Enfin je pense, non ? Donc je pensais que par un navigateur ce serait possible puisqu'on établi une liaison avec le serveur.

Mais c'est peut-être (surement pareil pour les 2, donc pas possible d'envoyé du serveur vers joueur X).

Par défaut, le navigateur du client demande des infos au serveur qui répond, c'est le sens "normal"

la problématique est de définir une solution pour que le serveur, de sa propre initiative, envoie des infos au navigateur du client (c'est à dire sans qu'un script côté serveur se déclenche à la demande du client)


RE: Serveur / Temps-réel - Sephi-Chan - 02-12-2010

Avec Ajax, tu peux envoyer des données du navigateur vers le serveur. Le problème, c'est pour envoyer des données du serveur vers un client.

Pour cela, il existe Websocket et pas mal d'autres astuces (dont Flash, qu'on peut utiliser en dernier recours).
http://socket.io/ permet de normaliser l'API.

Petite démonstration (attention, grosse résolution d'écran…) : http://sephi-chan.fr/jeuweb/server-push.mov
  • Sephi-Chan est sur une page de jeu. Il a invité des joueurs à son équipe, dont un du nom de Plume ;
  • Plume reçoit un lien d'invitation et clique dessus. Ça le conduit sur la page /flights/1/invitations/1/confirm qui effectue quelques actions :
    • Modifie quelques données en base pour valider l'invitation ;
    • Envoie des données sur le channel "teams/1-27f....a38/invitations" ;
    • Redirige sur la page /flights/1/edit ;
  • La page sur laquelle est Sephi-Chan écoutait le canal "teams/1-27f....a38/invitations" grâce à Javascript, et — en recevant les données envoyées sur ce channel — a pu savoir que Plume avait accepté l'invitation, et l'a donc passé d'une liste à l'autre ;

Donc le push, c'est très pratique ! Smile


Sephi-Chan


RE: Serveur / Temps-réel - Silen.S.Sin - 02-12-2010

C'est comme ça... je sais pas exactement mais les serveur FTP ne renvois les infos qu'au demandeur et ont peut pas demander d'envoyer à un autres, si je post sur se forum j'envoie au serveur et avec le code je vais être réactualisé, je vais donc faire une demande pour ravoir la page et comme mon post sera enregistré dans la base il sera affiché mais toi si tu reste sur la page, temps que tu redemanderas pas à avoir la page tu ne sauras pas que j'ai posté, tu ne sera pas avertis des changements.


RE: Serveur / Temps-réel - Silen.S.Sin - 02-12-2010

Bon j'ai parcourus APE, Pusher et Juggernaut et il semblerais que je sois un peut dépassé... j'abandonne donc se petit projet, étant freelance j'ai du passer à côté de certaines choses car cela me semble bien compliqué...
Je vais donc me retaper la doc du HTML au JAVA etc... et je retenterais plus tard... je vous remercie quand même pour ces infos. Je reviendrais dessus dans quelques temps, juste le temps de me remettre à jour et de voir si je n'ai pas raté certaines choses (c'est sur que je connais pas tout mais je pensais savoir suffisamment pour aller la dedans).

Merci à tous.
Silen.S.Sin

Edit: je reste sur le fofo car mis à part le temps réel je sais programmer et je pourrais peut-être apporter mon aide. :p


RE: Serveur / Temps-réel - php_addict - 02-12-2010

et si JS n'est pas intallé sur le poste client ca fonctionne aussi?


RE: Serveur / Temps-réel - Sephi-Chan - 02-12-2010

Et Pusher ne te convient pas ? C'est simple d'utilisation pourtant !

Et non, forcément sans Javascript, ça ne fonctionne pas. Mais honêtement en 2010, on peut ignorer ceux qui le désactivent, à plus forte raison sur des jeux par navigateurs.

(02-12-2010, 10:41 PM)Silen.S.Sin a écrit : Je vais donc me retaper la doc du HTML au JAVA etc...

Il faut commencer par ne pas confondre Java et Javascript, qui n'ont absolument rien à voir !


Sephi-Chan


RE: Serveur / Temps-réel - Silen.S.Sin - 03-12-2010

Oui je ne confond pas JAVA et JavaScript, mais Quand je dit JAVA c'est JAVA^^ Javascript en faite je le n'en parle jamais vu que pour moi il est inclue avec PHP etc... l'AJAX quoi. C'est devenu normal pour moi et c'est vrai que j'oublie vite le JavaScript il a fusionné pour moi.


RE: Serveur / Temps-réel - Sephi-Chan - 03-12-2010

(03-12-2010, 09:56 AM)Silen.S.Sin a écrit : Oui je ne confond pas JAVA et JavaScript, mais Quand je dit JAVA c'est JAVA^^ Javascript en faite je le n'en parle jamais vu que pour moi il est inclue avec PHP etc... l'AJAX quoi. C'est devenu normal pour moi et c'est vrai que j'oublie vite le JavaScript il a fusionné pour moi.

Finalement, ta confusion est pire que celle que j'évoquais. Smile

Javascript et PHP n'ont absolument rien à voir. Ajax n'a rien à voir avec PHP. Ajax n'est que l'utilisation de Javascript pour envoyer des requêtes HTTP de manière asynchrone et obtenir un retour en XML, par définition. D'ailleurs, on parle souvent d'Ajax à tort, mieux vaut parler de XMLHTTPRequest (XHR, en version courte).

Effectivement, il y a du boulot ! ^^


Sephi-Chan


RE: Serveur / Temps-réel - php_addict - 03-12-2010

bon bein j'ai bien fais de parler du javascript alors...

même si on est en 2010 il me semble correcte tout de même de penser à ceux qui n'ont pas JS installé, je sais c'est moins de 3% des internautes...


RE: Serveur / Temps-réel - Ter Rowan - 03-12-2010

(03-12-2010, 04:03 PM)php_addict a écrit : même si on est en 2010 il me semble correcte tout de même de penser à ceux qui n'ont pas JS installé, je sais c'est moins de 3% des internautes...

ça dépend du marché que tu cibles.

un des travers qu'on a eu sur nos discussions à une époque a été que certains définissaient un standard unique pour le jeu web :

il fallait qu'il soit complètement accessible
il fallait qu'il n'y ait pas besoin du js
il fallait que ça marche sous ie6 (ah non celle là on l'a pas faite ^^ mais après tout y a plus de ie6 qu'il n'y a de gens qui refusent js)
etc...

pour la bonne raison que pour toucher tout le monde, il fallait respecter tout cela

est ce que cette raison est bonne dans tous les cas ?

Un concepteur de jeu n'a pas forcément la motivation de toucher tout le monde.
Sinon, outre le js, le navigateur, l'accessibilité, etc... on devrait penser à un jeu qui permettent de joueur du plus jeune âge (euh 2 ans ?) au plus vieux (euh 120 ans ?)
sans contrarier les philosophies, les sensibilités (parler d'un jeu avec plusieurs dieux sera prohibé dans certaines cultures par exemple)

je crois qu'il vaut mieux maintenant se concentrer sur les besoins de la cible du concepteur.

Si un concepteur doit faire du temps réel, ce ne sera certainement pas avec des balises html

Si un concepteur veut faire un jeu visuel pour de très jeunes enfants (genre cliquer sur les carrés ou les ronds, etc..), on ne s'agitera pas forcément sur l'aspect contrôle des valeurs

etc...