Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Pinger une ip/un hostname
#1
Bonjour,

J'ai un truc qui m'embête depuis hier soir, c'est à dire faire un script tcl qui ping un host ou une ip et qui renvoit le temps du ping. Donc là, je me suis dis pourquoi pas lancer un cmd.exe et faire un ping stocker le tout dans un fichier text et le parser, mais cette solution n'est pas propre, surtout que si le pinh est long ou ne fonctionne pas, on risque d'avoir des erreurs en pagaille...

Si il y'en a qui ont déjà fait ce genre de script, je suis preneur de piste de départ :)

Merci d'avance
#2
avec exec tu devrais trouver ton bonheur :)
#3
Sauf que selon la machine qui supporte l'egg (linux ou win), les syntaxes et réponses ne sont pas les mêmes.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
#4
A mon avis, pour différencier l'eggdrop du windrop, il suffit d'utiliser
tcl
if [file exists /cygdrive] {...}


Voire même, encore plus spécifiquement,
tcl
if {[info library] eq "./lib/tcl8.5"} {...}


(ou 8.4 pour la rétrocompatibilité avec les eggs .18)
puisque euh, sur un windrop, les libs TCL sont fournies avec le windrop, donc sont présentes dans le dossier de l'eggdrop.
au contraire, dans le cas d'un système linux, elles doivent être dans un quelquonque dossier lib ou un truc du genre à la racine (à vérifier)
par contre, je ne peux pas garantir que ça marcherait pour les utilisateurs de windrops utilisant aussi cygwin, puisque ca applique un tas de modifications bizarre sur la façon dont eggdrop gère les répertoires et librairies.

Pour finir, concernant le lancement du ping, il ne faut pas oublier que exec bloque l'execution TCL pendant l'execution du processus appelé, donc je recommenderais plutôt d'utiliser open | et de lire les informations recues sur stdout avec read/gets.


Forum Jump:


Users browsing this thread: 1 Guest(s)