IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Tests de monitoring serveurs


Sujet :

API standards et tierces Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de titou624
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 152
    Par défaut Tests de monitoring serveurs
    Bonjour à tous, j'ai dévelloppé une application de monitoring serveur et jusque là tout allait bien. Cependant, j'ai l'impression que mon application ne gère pas les timeouts ...

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    public boolean testHttp(String host){
            if(host!=null){
                HttpClient httpclient = new DefaultHttpClient(); 
                HttpPost httppost = new HttpPost("http://"+host);
                HttpResponse response = null ;            
                try {                
                    response=httpclient.execute(httppost);
                } catch (ClientProtocolException e) {
                    e.printStackTrace();
                    return false;
                } catch (IOException e) {
                    e.printStackTrace();
                    return false;
                } 
                Log.e("Code http de"+host,response.getStatusLine().getStatusCode()+"");
                if(response!=null)
                    if(response.getStatusLine().getStatusCode()>=400)
                        return false;
            }
            return true;
        }
    En effet, j'ai eu des alertes d'OVH me disant que les ports 22 et 80 étaient en timeout et mon appli ne m'a rien signalée. Avvez vous des renseignements ? Je pensais que les timeouts passaient en exception.

    Merci beaucoup !

  2. #2
    Membre confirmé Avatar de titou624
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 152
    Par défaut
    Hello, tout le monde !

    J'ai une petite idée pour résoudre mon problème: Je voudrais lancer en paralèlle de mon test un Timer qui durerait 30 secondes et qui si mon test ne répondait pas retournerai false.

    Cependant, un timer se lance dans un thread.
    Ma question est donc: pouvez vous me montrer une démo de code montrant comment ma fonction qui lance le Timer peut récupérer le resultat de mon thread ?

  3. #3
    Membre confirmé
    Profil pro
    Chef de projet Informatique
    Inscrit en
    Février 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Chef de projet Informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 49
    Par défaut
    Essaie ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
         protected Long doInBackground(URL... urls) {
             int count = urls.length;
             long totalSize = 0;
             for (int i = 0; i < count; i++) {
                 totalSize += Downloader.downloadFile(urls[i]);
                 publishProgress((int) ((i / (float) count) * 100));
             }
             return totalSize;
         }
     
         protected void onProgressUpdate(Integer... progress) {
             setProgressPercent(progress[0]);
         }
     
         protected void onPostExecute(Long result) {
             showDialog("Downloaded " + result + " bytes");
         }
     }

  4. #4
    Membre confirmé Avatar de titou624
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 152
    Par défaut
    En fait j'ai trouvé une solution beaucoup plus simple en cresant un peu dans la doc.

    On peut donner des paramètres au client HTTP, voici le code de la fonction au complet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    public boolean testHttp(String host){
            if(host!=null){
     
                HttpParams my_httpParams = new BasicHttpParams();
                HttpConnectionParams.setConnectionTimeout(my_httpParams,30000);
                HttpConnectionParams.setSoTimeout(my_httpParams,30000);            
                HttpClient httpclient = new DefaultHttpClient(my_httpParams); 
     
                HttpPost httppost = new HttpPost("http://"+host);
                HttpResponse response = null ;                        
     
                try {                
                    response=httpclient.execute(httppost);                        
                } catch (ClientProtocolException e) {
                    e.printStackTrace();
                    return false;
                } catch (IOException e) {
                    e.printStackTrace();
                    return false;
                } 
     
                //Log.e("Code http de"+host,response.getStatusLine().getStatusCode()+"");
                if(response!=null)
                    if(response.getStatusLine().getStatusCode()>=400)
                        return false;
            }
            return true;
        }
    Merci pour ton aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Test Performance & Monitoring, VMSTAT CSCPMON
    Par Crevette130983 dans le forum Outils
    Réponses: 7
    Dernier message: 23/04/2012, 18h10
  2. Un "Stress test" pour un serveur DNS
    Par Syntax-ERROR dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 10/10/2008, 14h23
  3. Réponses: 1
    Dernier message: 27/10/2006, 11h51
  4. [WSAD 5.0] [Envirronement de test] probleme de serveur
    Par arnaud dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/07/2004, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo