2011-03-24 1 views
0

nous avons une application où le bouton clic dans le côté flexible redémarre le serveur et rend le client déconnecté. Une fois la déconnexion terminée, si l'utilisateur se connecte, il génère une erreur car le serveur n'est pas opérationnel à ce moment-là. Dans notre scénario, le serveur prend le temps de redémarrer à cause de la substance (comme sauvegarder). Je souhaite que l'utilisateur soit averti de l'état du serveur Web s'il tente de se connecter.Y at-il de toute façon dans flex pour obtenir le statut du serveur?

existe-t-il un moyen de surveiller l'état du serveur côté Flex. ou Est-ce que javascript aidera à trouver si le serveur est en place ou non?

J'ai également essayé de rediriger vers la page html en utilisant une interface externe mais je ne suis pas sûr de savoir comment le rediriger automatiquement vers le fichier swf lorsque le serveur devient actif.Le temps d'arrêt du serveur est inconnu (peut être 2 ou 5 ou 10 minutes Alors, quelle serait la meilleure approche? Toute aide serait grandement appréciée.

Répondre

1

En utilisant URLLoader, vous pouvez essayer de télécharger un fichier sur le serveur et d'écouter ioError ou httpStatus.

private var testLoader:URLLoader; 
private var testRequest:URLRequest; 

... 

testRequest = new URLRequest("http://server/testFile"); 
testLoader = new URLLoader(request); 
testLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onStatus); 

private function onStatus(HTTPStatusEvent:event):void 
{ 
    //test the status, if the server is up, reconnect, else... 
    testLoader.load(testRequest); 
} 
+0

merci pour la réponse. Mais cela fonctionnera-t-il avec https? – Saravana

+0

Étant donné que le serveur est en panne et que l'authentification est donc désactivée, vous n'avez pas vraiment besoin de https pour ce test. – Kodiak

0

Problème intéressant. Quand vous parlez de redémarrer, voulez-vous dire juste un service spécifique comme Apache ou comme un redémarrage réel du serveur? Je demande parce que cela signifierait différents scénarios. Je ne suis pas sûr de ce que vous faites, mais je suppose que vous redémarrez le serveur. L'un des problèmes ici est que le client se déconnecte, ce qui est quelque chose que nous ne voulons pas. Ce que je ferais, c'est d'avoir un second serveur dont le seul but serait l'authentification et le statut sur l'autre serveur. C'est une approche 'man in the middle' où ce serveur ne vous déconnecte pas, mais tous les appels sont redirigés vers l'autre serveur. Du côté Flex, vous pouvez l'appeler "l'homme au milieu" pour voir quel est le statut. En fonction de la technologie que vous utilisez (interroger ou pousser), vous pouvez obtenir les données nécessaires et montrer l'état à l'utilisateur.

+0

En fait, nous avons les deux cas, mais d'abord, nous arrêtons notre serveur jboss, faisons une sauvegarde de DB, redémarrons le service db et à nouveau nous démarrons le serveur jboss.so au moment où il connaît des temps d'arrêt .. Je veux que le client à propos du temps d'arrêt et de se reconnecter au même temps que le serveur web reprend. N'y a-t-il pas d'interface flex fournie comme urlmonitor dans AIR .. ou tout écouteur de socket wud do? – Saravana

Questions connexes