[Résolu] afficher le min et le max

afficher le min et le max [Résolu] - Perl - Programmation

Marsh Posté le 29-01-2004 à 09:30:00    

Bonjour,  
 
dans mon programme en perl ou j'effectue des ping et renvoi le temps de reponse, je souhaiterai a chaque fois afficher le temps minimum et maximum, quelle code dois-je mettre pour obtenir ceci ?
Voici le code qui me sert pour pinguer :
 

Citation :

$res = ($p->ping("$table[2]","$table[3]" ));
   print $p->details->{success}." ".$p->details->{host}." ".$p->details->{ipaddr}." ".$p->details->{roundtriptime}."\n";


 
Je veux afficher le min et le max de roundtriptime.
 
Merci d'avance


Message édité par mat34fun le 05-02-2004 à 14:07:29
Reply

Marsh Posté le 29-01-2004 à 09:30:00   

Reply

Marsh Posté le 30-01-2004 à 10:59:09    

Tu utilises quel module pour pinger? Tu devrais jeter un oeil dans la doc de ce module, je suis sur que tu peux renvoyer le min et le max.
 
EDIT : j'ai dit une connerie sur le roundtriptime :D


Message édité par impulse le 30-01-2004 à 11:04:52
Reply

Marsh Posté le 30-01-2004 à 11:09:49    

Je suppose que tu utilises le module Net :: Ping. Tu n'as qu'a jeter un oeil dans les sources pour savoir comment retourner le min et le max. :)
 
EDIT : en fait tu dois plutot utiliser Win32 :: PingICMP. Apparemment il n'y a pas moyen de retourner le min et le max...


Message édité par impulse le 30-01-2004 à 11:26:38
Reply

Marsh Posté le 30-01-2004 à 13:42:51    

J'utilise Win32 :: PingICMP, sinon pour le min et le max on m'a dis que c t possible mais je vois pas comment ...

Reply

Marsh Posté le 30-01-2004 à 15:07:46    

On t'a dit que c'etait possible? Et on t'aurait pas dit comment faire aussi? ;)
 
J'ai regarde la doc du module et je n'ai rien vu a ce sujet. Tu peux encore regarder les sources mais je suis pas sur que ça t'apporte grand chose.
 
Au "pire" tu utilises un autre module (tu connais http://cpan.org ?) qui permet de recuperer le min/avg/max round-trip time ou bien tu executes une commande ping et tu recuperes la sortie.

Reply

Marsh Posté le 30-01-2004 à 15:36:14    

Ben ce qui a c que c mon maitre de stage qui ma dis que c t possible mais pas comment on fait lol
sinon je v regarder ce que tu m'a dis.
Je te remercie

Reply

Marsh Posté le 03-02-2004 à 14:54:38    

impulse> J'ai pas reussi a trouver le module qui permette de trouver le min/avg/max car c'est celui qu'il me faut, tu pourrai pas me filer le lien exact (pas la flemme de chercher, mais en anglais chu pas un boss  :p  
 
Voilà encore merci  :hello:

Reply

Marsh Posté le 03-02-2004 à 15:25:42    

mat34fun a écrit :

impulse> J'ai pas reussi a trouver le module qui permette de trouver le min/avg/max car c'est celui qu'il me faut, tu pourrai pas me filer le lien exact (pas la flemme de chercher, mais en anglais chu pas un boss  :p  
 
Voilà encore merci  :hello:  


 
J'ai pas cherché a vrai dire. :)

Reply

Marsh Posté le 03-02-2004 à 15:48:37    

impulse> Lol pas grave en tout cas merci pour ton aide et tes reponses ;-)

Reply

Marsh Posté le 04-02-2004 à 17:14:31    

c bon g reussi !  
 
:bounce::bounce::bounce:

Reply

Marsh Posté le 04-02-2004 à 17:14:31   

Reply

Marsh Posté le 17-03-2004 à 12:58:39    

please give the soluce !
 
foiro

Reply

Marsh Posté le 18-03-2004 à 11:30:19    

moi j'utilise le module Net::ping
 
 
                 $p=Net::Ping->new("icmp",0.4);
                 $p->hires();
                 $pk_loss=0;
                 $avg=0;
 
                                 
                for($i=0;$i<20;$i++)
                {
                   ($flag,$tps)=$p->ping($ip_host);
 
 
                   if($i==0)
                   {
                    $min=$tps;  
                    $max=$tps;
                   }
                   else
                   {  
                     if($tps<$min){ $min=$tps; }
                       
                     if($tps>$max){ $max=$tps; }
                   }
 
                   $avg=$avg+$tps;
                   if($flag==0){ $pk_loss++; }
                   
                 }
 
                 $avg=$avg/$nbr*1000;
                 $a=0;
                 if($pk_loss==0){ $a=0; }
                 
                 elsif($pk_loss<5){ $a=1; }
                 
                 elsif($pk_loss<10){ $a=2; }
                 
                 elsif($pk_loss<15){ $a=3; }
                 
                 elsif($pk_loss<20){ $a=4; }
           
                 else{ $a=5; }
           
                  $min=$min*1000;
                  $max=$max*1000;
 
comme ca g aussi le temps de reponse moyen et le nombre de packet loss...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed