LOG DE PING POUR SURVEILLER LA QUALITÉ D'UNE CONNECTION

PhilLu Messages postés 251 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 11 mai 2021 - 8 janv. 2011 à 11:53
jeffem Messages postés 2 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 3 juillet 2015 - 10 janv. 2011 à 13:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52703-log-de-ping-pour-surveiller-la-qualite-d-une-connection

jeffem Messages postés 2 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 3 juillet 2015
10 janv. 2011 à 13:20
Bonjour Phillu,
Je ne comprends pas bien où tu es coincé.
Par contre, pour l'affichage du temps, je pense pouvoir t'aider.
En fait, il faut se souvenir de ce qu'est un graphe : c'est le tracé d'une valeur en fonction d'une autre. Bien souvent, en physique, on trace la valeur d'une mesure (ici, par exemple, le TTL) en fonction d'une autre (par exemple le temps).
Ce graphe est tracé dans un système de coordonnées, X en abscisse (de la gauche vers la drote) et Y en ordonnée (du bas vers le haut).
La ressource Chart de TeeChart, mâche tout le travail de présentation graphique pour que nous autres, les utilisateurs, puissions tracer nos courbes le plus aisément possible.
Pour cela, il suffit de remplir un tableau (appellé Series) dans lequel on donne les valeurs de l'abscisse et de l'ordonnée : c'est la fonction ADDXY(abscisse, ordonnée,...);
Pour ton problème, il suffit que tu appelles cette fonction par la syntaxe suivante : Series2.AddXY(Duree,Strtoint(Stringgrid1.cells[1,j]));
instruction que je placerai juste après l'acquisition de la valeur de TTL, et non comme tu l'as fait, qui oblige TeeChart à re-plotter tout le graphe à chaque fois, au lieu d'ajouter simplement un point à la courbe.
La variable Duree est proposée parce que je la préfète à DateTimeToStr(now); qui est une fonction un peu lourde pour ce qu'on veut faire ici (me semble-t-il). Tu crées une variable globale, Duree, que tu mets à zéro à la création de la Form ou à chaque fois que tu relances le process d'acquisition, et que tu incrémentes dans la routine du compteur Timer1 : Duree:=Duree+Timer1.Interval/1000 (pour que Duree compte les secondes);

Pour l'absence de réponse totale au ping, je pense qu'il te suffit de tester le status : si tu as un TTL ou un trip nul, il me semble que cela signifie que ton ping ne répond pas.
Bonne continuation,
Jeffem
PhilLu Messages postés 251 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 11 mai 2021
8 janv. 2011 à 11:53
Vous aurez corrigé de vous même: lire Trip time et pas Travel Time!!!
Rejoignez-nous