JeuWeb - Crée ton jeu par navigateur
Utilisation d'Ajax Push Engine (APE) - 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 : Utilisation d'Ajax Push Engine (APE) (/showthread.php?tid=3507)

Pages : 1 2 3


Utilisation d'Ajax Push Engine (APE) - djidi - 01-11-2010

J'essaie actuellement d'utiliser APE mais j'ai pas mal de soucis.

Pour le moment j'essaie de détecter lorsqu'un personnage se connecte pour afficher un message.
J'utilise donc "client.core.start({"name":charName});" où charName est le nom du personnage, définit précédemment dans le javascript.
Le problème est qu'il ne peut pas contenir de caractères spéciaux ou espace et je me retrouve avec une erreur du type :

[{"time":"1288618163","raw":"ERR","data":{"code":"006","value":"BAD_NICK"}}]

J'ai cherché partout dans les fichiers mais impossible de trouver où sont définis les caractères autorisés pour pouvoir les changer.
Si quelqu'un a une idée je suis preneur Smile

Quelqu'un aurait-il également des tutoriels qui expliquent clairement l'utilisation d'APE ? J'ai énormément de mal avec la doc officielle :S

Merci d'avance Smile


RE: Utilisation d'Ajax Push Engine (APE) - Jabberwock - 01-11-2010

Les caractères spéciaux tu peux les protéger en JavaScript avec escape(). Doc
Tu peux les décoder avec unescape en JavaScript ou urldecode en Php.

Après je connais pas l'APE donc pas sûr que ça t'aide.


RE: Utilisation d'Ajax Push Engine (APE) - djidi - 01-11-2010

Malheureusement, même en encodant la chaîne ca ne fonctionne pas.
La chaine doit être vérifiée quelque part mais je ne sais pas où.


RE: Utilisation d'Ajax Push Engine (APE) - djidi - 01-11-2010

Pour le nom, j'ai enfin réussit.
Il faut modifier /var/ape/examples/nickname.js et changer la ligne suivante :

if (params.name.length > 16 || params.name.test('[^a-zA-Z0-9]', 'i')) return ["006", "BAD_NICK"];

Enfin, redémarrer APE : /etc/init.d/ape-server restart


Je recherche quand même toujours des sites d'aides ou des tutoriels parce qu'avec la doc officielle je vais pas aller loin ^^


RE: Utilisation d'Ajax Push Engine (APE) - srm - 02-11-2010

Tu n'as même pas besoin de nous tu vois Smile


RE: Utilisation d'Ajax Push Engine (APE) - djidi - 02-11-2010

Vu le temps passé pour ce simple changement (et sachant que mon script marchait une fois sur 2 ensuite) je préfère abandonner et trouver une autre solution.
Je reviendrais sur APE quand j'aurais la motivation et trouvé un wiki décent sur le sujet ^^


RE: Utilisation d'Ajax Push Engine (APE) - Plume - 02-11-2010

Si ça s'trouve, plein de personnes se disent comme toi & du coup, rien ne se fait Wink


RE: Utilisation d'Ajax Push Engine (APE) - Gwym - 02-11-2010

(02-11-2010, 09:10 AM)djidi a écrit : Vu le temps passé pour ce simple changement (et sachant que mon script marchait une fois sur 2 ensuite) je préfère abandonner et trouver une autre solution.
Je reviendrais sur APE quand j'aurais la motivation et trouvé un wiki décent sur le sujet ^^

Il y a une raison technique ou conceptuelle précise pour le choix d'APE ?


RE: Utilisation d'Ajax Push Engine (APE) - djidi - 02-11-2010

Je souhaitais l'utiliser pour que les déplacement des personnages sur la map soit en temps réel.
J'ai testé plusieurs solutions mais APE est le seul qui semble assez puissant pour permettre cela.


RE: Utilisation d'Ajax Push Engine (APE) - Gwym - 02-11-2010

(02-11-2010, 02:00 PM)djidi a écrit : J'ai testé plusieurs solutions mais APE est le seul qui semble assez puissant pour permettre cela.

J'étais parti sur une recherche similaire (quoique plutôt sur le nombre de connections simultannées à l'aide de websockets), j'ai regardé un peu du côté d'APE (pour des infos sur APE, le mieux est de s'inscrire a leur mailling), sur l'API channel de google ap engine, mais au final je suis en train de convertir mon jeu de PHP vers... javascript/node.js ! Smile

Si tu es sous linux, que tu pratiques un peu l'anglais, le javascript et que tu n'est pas allergique aux architectures asynchrones ("orientées événement"), je te le conseille... (oui, ça fait pas mal de conditions)

Pour débuter :
http://nodejs.org/ : le site officiel
http://dmathieu.com/fr/node/introduction-a-nodejs : une intro en français
http://github.com/LearnBoost/Socket.IO : une couche "comet" pour node.js

Sur la puissance, je pense qu'il devrait suffire, d'après ce qu'en disent plurk, paraît-il qu'il supporte plusieurs centaines de milliers d'utilisateurs en temps réel... (http://amix.dk/blog/post/19490#Plurk-Instant-conversations-using-comet)