Programmation » Techniques de "streaming" avec XMLHttpRequest
Catégorie:  
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 17:50:19,
Par zion
Plop,

Je viens de me lire pleins d'articles sur diverses techniques pour streamer du content du serveur vers le client. Mais j'arrive pas à encore trouver la technique idéale, partage d'expérience?

1. Il y a la possibilité de l'iframe qui se charge indéfiniment. Bon pas génial car dès que l'user appuie sur ESC le truc est foutu, et la page semble jamais finir de se charger. Bref, inutilisable.

2. http://www.subbu.org/blog/2006/04/dissecting-ajax-server-push
La, il explique une technique avec du multipart et le XMLHttpRequest
Bon, intéressant, son exemple fonctionne (mon code toujours pas), mais de toute façon n'est pas du tout compatible avec IE (même pas le 8).

3. Reste la possibilité d'une requête XMLHttpRequest qui se fait toutes les X secondes, mais ça bouffe vraiment trop à mon gout, ça fait pleins de connexions et on doit trouver un compromis entre le délai de l'information envoyée et la charge du serveur.

4...? ? ?

Une piste pour une autre solution, ou pour améliorer le 2?
Je suis le Roy :ocube:
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 17:56:02,
Par zion
5. http://www.pushlets.com/

:oh:

on dirait que ça répond à ma question... avec du java en fait! :oh:
Je suis le Roy :ocube:
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 17:57:03,
Par gizmo
4: Flash (en attendant le html 5 et son WebSocket). Avec le Flash, rien ne t'empeche d'ouvrir un socket et de faire du push venant du serveur assez facilement. Ensuite, il suffit de faire dialoguer ton flash avec ton JavaScript dans ta page et le tour est joué.
Concept vivant.
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:00:11,
Par zion
Et il existe des petits flash déjà tout prévus pour ça? Histoire de pas devoir se trouer le cul à tout réécrire?
Je suis le Roy :ocube:
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:00:36,
Par gizmo
5. http://www.pushlets.com/

:oh:

on dirait que ça répond à ma question... avec du java en fait! :oh:


D'après ce que j'en lis, ca ressemble fort a du "3" ton "5" :oh:
Concept vivant.
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:04:54,
Par zion
Sa mère :oh:

Bon et ton 4, t'as une piste sur le web pour que j'y trouve des infos? :oh:
Je suis le Roy :ocube:
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:06:30,
Par gizmo
Et il existe des petits flash déjà tout prévus pour ça? Histoire de pas devoir se trouer le cul à tout réécrire?



http://github.com/maccman/juggernaut_plugin#readme

C'est pour rails, mais vu qu'il y a le flash et des exemples, ca doit être assez facile a utiliser vers un autre langage.
Concept vivant.
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:07:27,
Par zion
http://www.javaworld.com/javaworld/jw-03-2008/jw-03-asynchhttp.html

Quand je lis en diagonale leur article, ils parlent quand même d'une seule requête en continu aussi :smile:
Je suis le Roy :ocube:
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:08:25,
Par gizmo
http://dev.dschini.org/socketjs/ pourrait aussi être intéressant.
Concept vivant.
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:13:35,
Par gizmo
http://www.javaworld.com/javaworld/jw-03-2008/jw-03-asynchhttp.html

Quand je lis en diagonale leur article, ils parlent quand même d'une seule requête en continu aussi :smile:


Oui, mais cette technique de requète en continu a plusieurs désavantages:
  1. Pas bien supporté par tous les browsers
  2. Ne marche pas avec tout une sériel de proxy qui font du caching
  3. Il faut que ton serveur soit configuré pour. Par défaut, Apache, c'est 15 seconde de timeout si pas d'activité.


Actuellement, les seuls alternatives vraiment viables sont le socket flash et le pulling en ajax. L'iFrame n'arrivant que 3eme.
Concept vivant.
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:16:42,
Par Altar
Et silverlight, il pue ? :ocube: :jesors:

Dernière édition: 31/12/2009 @ 18:16:56
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:20:15,
Par zion
Justement, si on passe par un truc en continu via du flash, le support est quasi total. (Altar Silverlight c'est sur quoi, 1% des navigateurs même pas? :tinostar: )

Niveau serveur je gère justement, pas d'Apache ou quoi que ce soit, je ne m'inquiète vraiment pas, ni pour le timeout.

Pour le proxy, c'est pas totalement faux que c'est mal supporté. Mais comment fait FB d'aileurs? Du polling en continu? (damned les ressources de con!)
(Mais les utilisateurs de proxy je peux encore accepter que ça passe pas, tant pis :oh: )
Je suis le Roy :ocube:
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:28:19,
Par gizmo
Justement, si on passe par un truc en continu via du flash, le support est quasi total. (Altar Silverlight c'est sur quoi, 1% des navigateurs même pas? :tinostar: )

Niveau serveur je gère justement, pas d'Apache ou quoi que ce soit, je ne m'inquiète vraiment pas, ni pour le timeout.

Pour le proxy, c'est pas totalement faux que c'est mal supporté. Mais comment fait FB d'aileurs? Du polling en continu? (damned les ressources de con!)
(Mais les utilisateurs de proxy je peux encore accepter que ça passe pas, tant pis :oh: )



Facebook fait du polling, oui (à moins qu'ils aient changé depuis). Pour le proxy, pour peu que ton FAI t'en met un d'office, c'est un peu vache de dire "bien fait pour ta gueule"

Et Silverlight, c'est loin d'être assez répandu (30% aux dernières info).
Concept vivant.
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:31:23,
Par Altar

Et Silverlight, c'est loin d'être assez répandu (30% aux dernières info).


45% d'après microsoft :tinostar:
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 18:36:25,
Par zion

Facebook fait du polling, oui (à moins qu'ils aient changé depuis). Pour le proxy, pour peu que ton FAI t'en met un d'office, c'est un peu vache de dire "bien fait pour ta gueule"


Non, mais si tu produits une version "classique" et que le polling rajoute des fonctionnalités aux utilisateurs le supportant, je trouve que c'est un moins mauvais compromis :smile:
Je suis le Roy :ocube:
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 31/12/2009 @ 20:55:40,
Par Tokiros
J'ai pas tout lu, j'ai pas trop de temps, mais ca peut être intéressant :

http://www.ape-project.org/
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 01/01/2010 @ 15:59:41,
Par zion
Bon je bookmark, je commence à lire, leur script fonctionne et ils annoncent sans flash, sans java, et en streaming...

Question démo c'est pas mal réactif, faut décortiquer tout ça maintenant! :smile:
Je suis le Roy :ocube:
   
Techniques de "streaming" avec XMLHttpRequest
Publié le 01/01/2010 @ 16:12:20,
Par zion
Bon, après une première analyse, en fait ils utilisent simplement une technique de l'IFrame mais avec une petite astuce pour éviter de voir la barre de chargement en continu.

Pas spécialement une mauvaise solution, sauf que dans mon cas vu que j'ai www.domaine.com pour le statique et www.domaine.com:81 pour le streaming l'IFrame a pas accès aux données du parent, donc c'est inutilisable ... (Pourtant j'aurais pensé qu'un simple changement de port n'allait pas être problématique mais aussi bien IE que Firefox bloque alors les interactions ... ).

Si j'ai bien pigé, eux ils jouent aussi avec un sous-domaine vu qu'ils utilisent un autre serveur qu'Apache.

Bon, bonne idée, mais à moins d'avoir deux IPs différentes, difficile de dire à un serveur de faire un listen sur le port 80 pour un domaine et un autre pour le sous domaine.

Ca implique quelques limitations comme solution :figti:
Je suis le Roy :ocube:
Répondre - Catégorie:  
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?