-
[BlazeDs] - Timeout
Bonjour,
J'ai une application client flex qui fait des appels à un serveur tomcat avec blazeds. Je voudrais pouvoir intercepter, côté client, le timeout du serveur.
Afin de pouvoir utilisé le channel Blaze, je fais une authentification du user via la tomcatlogincommand.
Après que le user soit authentifié, les appels aux services Blaze fonctionnent. Mais si on patiente le temps d'une "grande" pause, la session va être fermée et une erreur va être générée côté Flex.
Je voudrais donc pouvoir intercepter la fin de session du serveur tomcat et rediriger le client flex vers la page login et nettoyer toutes les connections qui seraient toujours dites "connected" côté client, alors que côté serveur elle sont "disconencted".
En effet, pour faire des testsm j'ai essayé de voir si l'événement "disconnected" de ma destination côté client était lancé, mais non... Lorsque j'ai l'erreur, ma destination est bien marquée comme étant connectée et authentifiée.
Tout indice, aide, remarques sont les bienvenus.
Merci :ccool:
-
Bonjour,
cela me fait penser un peu à la problématique des sockets ton problème où le serveur distant peut être down ou relancé à tout moment et donc les clients doivent en être averti.
As tu essayé à l'instar des sockets de greffer des événements comme Event.CLOSE, IOErrorEvent.IO_ERROR ou SecurityErrorEvent.SECURITY_ERROR sur ta connexion blaze ?
-
J'y ai pensé et testé mais rien ne remonte...
Je suis arrivé a "attraper" l'erreur qui fait suite à une recherche lorsque je suis déconnecté.
A savoir l'événement "ChannelFaultEvent" sur "ServerConfig.getChannelSet".
Après, j'affiche une Alert et je fais un reload de l'application.
Ce n'est pas le plus propre, mais si je ne fais pas cela, il m'est impossible de me reloguer ... (Sans cela, j'ai toujours le même id d'instance Flex et donc une erreur sur ma connection Http).
En attendant de trouver une solution "propre", on va laisser comme cela.
Merci pour les infos quand même.
:ccool: