Push vers Flex, choix de techno ?

Bonjour,

Petite question aux pros ou amateurs éclairés de la zone au sujet des moyens envisageables aujourd’hui pour “pusher” des messages vers un client web.
Dans mon cas précis, voici mon besoin. Pour le fun, j’ai commencé un site de jeux de société online (pas trop complexes au niveau des règles, échecs ou Puerto Rico par exemple), avec une appli centrale chargeant des modules à la demande. Au niveau présentation c’est du Flex, qui cause avec du PHP côté serveur via AMF.

Le souci c’est que pour vérifier les nouveaux messages, le client poll le serveur toutes les 3 secondes. C’est bien beau quand on est 2 à tester le chat, mais comment faire lorsqu’on est plus nombreux, ou que les chronos sont à la seconde près (ex : échecs en blitz) ?
Voilà pourquoi je voudrais dans l’idéal replacer ce polling par du push/messaging (et aussi parce que ça m’intéresse).

Après pas mal de réflexion et de lecture, voilà les solutions que je vois :

  • script PHP en boucle sur un socket : solution dégueulasse
  • Java et BlazeDS : le plus robuste je pense, mais coût d’hébergement plus important, alors que j’ai déjà un hébergement mutualisé
  • Python : j’ai lu qu’on pouvait utiliser Python en non stateless, mais je ne vois pas bien comment

Est-ce que vous pourriez me donner vos avis ou partager vos expériences à ce sujet ?

Merci !

http n’est pas fait pour le push. La méthode GWT pour pallier à cela c’est de lancer une requete, que le serveur maintient jusqu’au timeout s’il n’a pas d’évenement. Cela est possible sur un tomcat (reveil d’un thread sur un event), mais pour le reste, je ne sais pas. J’imagine une autre solution a base de cache (garder en mémoire les messages les plus récents), mais ca reste du polling… optimisé certes (car interroger le cache est rapide), mais du polling quand meme.

A terme il va te falloir un serveur dédié.

Dans tous les cas il te faut une appli serveur (que ce soit un script, un bout de prog java ou autre) qui tourne en continue. Et ca je pense pas que du mutualisé te le permette (ou alors pas longtemps !).

Arpès concernant le choix de la techno, tout dépend de ce que tu connais déjà (langage, techno, …) et de ce que tu sais faire.

Merci pour vos réponses. Elles confirment l’idée que je m’étais déjà fait … Si je veux faire du push, il faudra que je paie pour un hébergement java. A moins que je l’héberge chez moi, vu qu’il y a 75% de chances pour que ça reste à l’état de projet.

Berzehk, quand tu parles de cache, c’est avec des extensions style memcached ou apc ?