JeuWeb - Crée ton jeu par navigateur
Architecture asynchrone - 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 : Architecture asynchrone (/showthread.php?tid=5038)

Pages : 1 2 3


RE: Architecture asynchrone - Sephi-Chan - 10-08-2010

Oui, tu peux utiliser une requête XMLHTTPRequest (décompose l'acronyme pour le mémoriser XML HTTP Request) ou une iframe, peu importe, l'idée est de charger de manière asynchrone une page qui va mettre du temps à répondre afin de faire durer la connexion : dès que le serveur aura des données à envoyer au client, il enverra la réponse que le client recevra avant de lancer une nouvelle connexion qui dure, etc.

Voici un petit article pour implémenter cette technique (nommée Comet) avec PHP : Zeitoun.net - How to implement COMET with PHP.

Le truc, c'est que c'est une mauvaise idée d'utiliser Apache dans le rôle du serveur qui met du temps à répondre : il n'est pas fait pour ça. C'est pour ça que des serveurs comme APE ont été crées, mais il en existe d'autres (qui sont scalable mais pas forcément dédiés à implémenter Comet) comme NodeJS.

Il y a plusieurs difficultés à surmonter avec ce genre de serveurs : il faut réussir à faire communiquer le serveur Comet avec le serveur de jeu, par exemple.


Sephi-Chan


RE: Architecture asynchrone - Anthor - 10-08-2010

(09-08-2010, 03:15 PM)niahoo a écrit : houlà détends toi, tout va bien..

C'est toi qui critique les solutions proposés sans connaitre ^^

Sinon le tuto de sephi est bien, mais n'espère pas avoir de la charge avec ^^
Apache n'est pas fait pour les connections persistantes, et ça utilise encore une iframe.


RE: Architecture asynchrone - Sephi-Chan - 10-08-2010

L'article illustre seulement la technique Comet, il est inutilisable en production ! Smile

Anthor, toi qui a pas mal bossé là dessus ces derniers temps, ça te dirait pas de nous faire un petit article sur l'implémentation d'APE (d'autant qu'à priori, on peut l'utiliser quel que soit le langage utilisé côté serveur) ? Smile La documentation officielle est toujours aussi nulle, hélas…


Sephi-Chan


RE: Architecture asynchrone - niahoo - 10-08-2010

[édité, je dis un peu de la merde]

bon, je serais curieux de lire ça aussi. vous m'avez plutôt convaincu à utiliser APE avec cet iframe.

Il faut quand même que je suis sur de vouloir bosser en asynchrone ( je veux dire, je peux très bien attendre une réponse de chacune de mes XMLHTTPRequest (\o/ Wink ) envoyées ). Pour ça faut que je voie les temps de traitement côté serveur du jeu.


RE: Architecture asynchrone - Sephi-Chan - 10-08-2010

Qu'est-ce qu'on est en train de faire là ? -.-
Anthor dit qu'il a utilisé APE, il trouve que ça scale bien.
On peut voir que le long polling maison avec Apache, c'est pourri.
Etc.

Et puis, pense aussi qu'on poste aussi pour les personnes potentiellement intéressées par le sujet, pas uniquement pour le créateur du sujet.
Qu'est-ce que tu veux d'autre ? Tu peux aussi apporter de l'eau au moulin, nous dire ce que toi tu as testé, donner tes impressions.


Sephi-Chan


RE: Architecture asynchrone - niahoo - 10-08-2010

ouais ouais j'ai édité pendant que tu postais. Je vais tester tout ça et vous dire ce que j'en penses !
( mais je bosse avec nginx, pas apache, faut que j'arrive à installer tout le bordel, et ça va pas être du gateau je sens )


RE: Architecture asynchrone - srm - 10-08-2010

Hum non côté serveur c'est soit en C soit en Javascript Smile


RE: Architecture asynchrone - Anthor - 10-08-2010

(10-08-2010, 11:21 AM)Sephi-Chan a écrit : Anthor, toi qui a pas mal bossé là dessus ces derniers temps, ça te dirait pas de nous faire un petit article sur l'implémentation d'APE (d'autant qu'à priori, on peut l'utiliser quel que soit le langage utilisé côté serveur) ? Smile La documentation officielle est toujours aussi nulle, hélas…

Je confirme pour la doc, et je vois pour faire un article rapide sinon je finirais jamais ce que je dois finir dans la semaine.