19-05-2011, 11:31 AM
Bonjour,
Bon, je sais qu'il existe des outils tout fait qui permettent de faire du push en ajax du serveur vers le navigateur.
Mais dans mon cas, j'utilise déjà un Framework JS (dojo) auquel j'ai en plus rajouté un sérieuse surcouche perso pour intégré la sécurité et une sorte de polymorphisme dans le traitement des réponse reçue.
Bref, je ne peux (et ne veux pas non plus) utiliser un outil tout fait pour faire du push.
Du coup, je me vois contraint (enfin, c'est un N'ième défit à relever) d'implémenter mon propre système de push., mais j'aimerai profiter de votre expérience.
Bon, déjà, il ne faut pas se leurrer, il est impossible d'envoyer réellement des données du serveur au client si celui-ci n'a pas envoyé au préalable une requête au serveur. Du coup je vois deux solutions :
1. Le client envois tous les X secondes une requête au serveur qui lui répond les mise à jours
2. Le client envois une seule requête au serveur, et celui-ci flush les mises à jour régulièrement sans jamais faire la requête. Le client est alors en mesure de traiter les données à chaque fois qu'elles arrivent.
Pour la solution 2, j'ai déjà vu ce genre de truc en HTML pur, un chat qui pour afficher les messages reçu avait la liste des messages dans une iFrame qu'il ne finissait jamais de charger... c'est super dégeu comme méthode, mais c'est ce qui se faisait sur la première version de Caramail par exemple (si ça dit quelque chose à certains dinosaures...). Mais je ne pense pas qu'en Ajax on puisse traiter des paquets de données si on n'a pas reçu le code de fin.
Bon, je sais qu'il existe des outils tout fait qui permettent de faire du push en ajax du serveur vers le navigateur.
Mais dans mon cas, j'utilise déjà un Framework JS (dojo) auquel j'ai en plus rajouté un sérieuse surcouche perso pour intégré la sécurité et une sorte de polymorphisme dans le traitement des réponse reçue.
Bref, je ne peux (et ne veux pas non plus) utiliser un outil tout fait pour faire du push.
Du coup, je me vois contraint (enfin, c'est un N'ième défit à relever) d'implémenter mon propre système de push., mais j'aimerai profiter de votre expérience.
Bon, déjà, il ne faut pas se leurrer, il est impossible d'envoyer réellement des données du serveur au client si celui-ci n'a pas envoyé au préalable une requête au serveur. Du coup je vois deux solutions :
1. Le client envois tous les X secondes une requête au serveur qui lui répond les mise à jours
2. Le client envois une seule requête au serveur, et celui-ci flush les mises à jour régulièrement sans jamais faire la requête. Le client est alors en mesure de traiter les données à chaque fois qu'elles arrivent.
Pour la solution 2, j'ai déjà vu ce genre de truc en HTML pur, un chat qui pour afficher les messages reçu avait la liste des messages dans une iFrame qu'il ne finissait jamais de charger... c'est super dégeu comme méthode, mais c'est ce qui se faisait sur la première version de Caramail par exemple (si ça dit quelque chose à certains dinosaures...). Mais je ne pense pas qu'en Ajax on puisse traiter des paquets de données si on n'a pas reçu le code de fin.