>
> > > Le problème que je me suis posé est la façon dont ça marcherait ... si
> > > je demande à rafraichir la page de texte dans laquelle je viens
> > > d'envoyer un message : ok mais comment envoyer l'information à tous
> > > les clients qui ont aussi cette même page.


La question de base c'est : combien as tu de clients simultanés ?

Si tu as moins d'une vingtaine de clients simultanés (équipe de projet,
groupe d'amis, etc.) alors il est possible de faire du nph. Ca existait sur
les CGI, ça doit toujours exister. Il s'agit simplement de faire un script
qui ne se termine pas. Le serveur envoie des lignes au client dès qu'il les
reçoit (ce n'est donc pas au client d'aller chercher régulièrement les
nouveautés) et envoie régulièrement quelques lignes vides pour éviter que la
connexion coupe. Le défaut c'est que ça demande autant de process que de
clients, et en rails ça bouffe beaucoup (ruby pourrait aller, mais rails me
parait difficile vu l'occupation mémoire).

Sinon effectivement, ça se joue avec de l'ajax ou du rafraichissement de
page. L'idéal étant de pouvoir générer en permanence un fichier sur le
disque et que les clients aillent chercher ce fichier statique, histoire de
ne pas déclencher du ruby/rails à chaque requête.
Il te restera alors du javascript pour interpréter ce fichier, et du
javascript pour faire une gestion "intelligente" des temps de
rafraichissement (rafraichissement rapide dans la minute après avoir envoyé
du texte, puis de plus en plus lent, et plus lent quand il y a peu
d'activité). Met de toutes façons un minimum à 5s et un maximum à 5min. En
dessous ton serveur ne va pas tenir la charge. Au dessus c'est le client qui
va être excédé.

AMHA le mieux reste une bête passerelle flash vers IRC (ou mieux, un client
IRC classique). le HTTP n'est pas trop fait pour ça.

-- 
Éric Daspet
http://eric.daspet.name/

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à