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

JavaScript Discussion :

Ping d'un serveur


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 16
    Par défaut Ping d'un serveur
    Bonjour à tous

    Je ne suis pas sûr d'être dans la bonne section pour poster ceci mais je me redirigerais vers la bonne en fonction des réponses si besoin.

    Je cherche actuellement à créer un script pour un forum.

    Celui-ci me permettrait d'effectuer un ping vers une adresse ip (ou nom de domaine) et de me retourner le résultat dans une variable que je pourrais récupérer afin d'afficher l'état du serveur dans un module html.

    J'ai déjà effectué quelques recherches mais n'ai pas réussis à en tirer clairement profit. J'ai trouvé cette partie de code qui devrait me permet d'effectuer le ping et d'afficher le résultat dans un popup alerte java.

    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
     
    <html><head><title>Ping Testing</title>
    <script type='text/javascript'>
    function pingTime() {
    var endTime=new Date();
    alert('ping time in milliseconds: '+
    (endTime.getTime()-window.startTime)
    +"\nendTime: "+endTime.getTime()
    +"\nstartTime: "+window.startTime)
    }
    </script>
    </head>
    <body onload="var startTime=new Date();
    window.startTime=startTime.getTime()
    var imgSrc='http://yahoo.com'+
    '?cacheBuster='+Math.random();
    var iFrame=document.getElementById('myPingTest');
    iFrame.onload=pingTime;
    iFrame.src=imgSrc">
    <IFRAME id=myPingTest>
    </IFRAME>
    </body>
    </html>
    Le soucis c'est que le code tourne en boucle et affiche le popup sans-cesse dès qu'on clique sur OK.
    Je souhaiterais remplacer ce popup par l'affichage simple d'une image dans le module html en fonction de l'état du serveur au moment du chargement du module.

    Est-ce possible ? Le javascript est-il la meilleure solution ?

    Je précise que je ne suis pas administrateur du serveur pingué mais qu'il répond aux requêtes ICMP.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonsoir,
    Le soucis c'est que le code tourne en boucle et affiche le popup sans-cesse dès qu'on clique sur OK.
    je ne comprend pas trop, quoiqu'il arrive à chaque fois que l'IFRAME se rechargera elle devrait appeler la fonction, c'est ce qui est demandé.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 16
    Par défaut
    Oui tout a fait, mais le chargement de la page n'est-il pas censé être unique?
    Pourquoi dans le module java une nouvelle page s'ouvre dès que je clique sur ok dans le popup alert?

    Pourrais-tu m'éclairer sur le fonctionnement de cette partie ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <body onload="var startTime=new Date();
    window.startTime=startTime.getTime()
    var imgSrc='http://yahoo.com'+
    '?cacheBuster='+Math.random();
    var iFrame=document.getElementById('myPingTest');
    iFrame.onload=pingTime;
    iFrame.src=imgSrc">
    <IFRAME id=myPingTest>
    </IFRAME>
    Ma question principale était et reste : Est-il possible de faire que ce code s'effectue uniquement au chargement du module (donc de la page ou il est intégré) et de ressortir les résultats dans ce module au lieu d'un popup alert ?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    tu peux faire comme dans l'exemple ci dessous
    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
    30
    31
    32
    33
    <!DOCTYPE HTML>
    <html>
    <head>
    <title>Ping Testing</title>
    <script type="text/javascript">
    // fonction appelée sur le ONLOAD du body
    function startBody(){
      window.startTime = new Date().getTime();
      var imgSrc='http://yahoo.com?cacheBuster =' +window.startTime;
      var iFrame=document.getElementById('myPingTest');
      // ajout événement ONLOAD sur l'IFRAME
      iFrame.onload = function(){
        var endTime = new Date().getTime();
        // initialise le texte à afficher
        var sTmp = 'ping time in milliseconds: ';
        sTmp += (endTime -window.startTime);
        sTmp += '<br>endTime: '  +endTime;
        sTmp += '<br>startTime: '+window.startTime;
        // supprime événement onload de l'IFRAME
        this.onload = function(){};
        // affiche le résultat
        document.getElementById('div_info').innerHTML = sTmp;
      }
      // affectation de la page à afficher dans l'IFRAME
      iFrame.src = imgSrc;
    }
    </script>
    </head>
    <body onload="startBody();">
    <div id="div_info"></div>
    <iframe id="myPingTest"></iframe>
    </body>
    </html>

Discussions similaires

  1. Ping impossible sur serveur help
    Par nvidia94 dans le forum Hardware
    Réponses: 2
    Dernier message: 24/01/2011, 20h34
  2. Réponses: 23
    Dernier message: 14/09/2010, 18h15
  3. ping ou trouver serveur sur réseau avec vb
    Par julius0123 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/07/2008, 17h49
  4. client/serveur : synchronisation, tempo et ping de présence
    Par balibalo dans le forum Développement
    Réponses: 3
    Dernier message: 21/06/2004, 11h32

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