j'aimerais comprendre comment fonctionne les erreurs avec la fonction ping.
Avec mon code actuel lorsque je désactive mon wifi, mon scripte me signal que google n'est plus joignable mais pour les autres adresses IP du reseaux local, il me les trouve toujours joignable puisque je n'ai pas de fichier de log de créé.
voici le code en question:
Code : Tout sélectionner
;verifie le reseau en permanence.
#include <file.au3>
global $nomfichier, $nbreligne, $ip, $erreur, $nomrepertoire, $erreurtext, $i, $x
HotKeySet("{ESC}", "quitter"); quitte le programme avec la touche escape en cas de probleme
$i=0
while $i=0
If Not _FileReadToArray("ip.txt",$ip) Then ; lis les lignes du fichier une par une en utilisant un array.
MsgBox(4096,"Error", "impossible de lire le fichier ip.txt erreur:" & @error)
Exit
EndIf
For $x = 1 to $ip[0]
;Msgbox(0,'Record:' & $x, $ip[$x])
$erreur = ping($ip[$x],250)
;$erreur=ping ("192.168.1.145",250)
sleep(100)
;msgbox(0,"",$ip[$x] & " " & $erreur)
if $erreur==0 Then ; si le ping ne repond pas.
$nomrepertoire=$ip[$x] & "\" & @MDAY & "-" & @mon & "-" & @year
$nomfichier=@MDAY & "-" & @mon & "-" & @year & " A " & @HOUR & "H" & ".txt"
;Switch @error ; on indique à quoi correspond le numero d'erreur. Les numéros d'erreur n'ont pas l'air fonctionnel.
;case 1
; $erreurtext="Host is offline"
;case 2
; $erreurtext="Host is unreachable"
;case 3
; $erreurtext="Bad destination"
;case 4
; $erreurtext="Other errors"
;EndSwitch
DirCreate($nomrepertoire) ; le repertoire se creer seulement si il n'existe pas.
if FileExists($nomrepertoire & "\" &$nomfichier) Then
; le fichier existe, j'écris dedans en allant à la ligne suivante @crlf
FileWrite($nomrepertoire & "\" &$nomfichier,@CRLF & "une erreur reseau est survenue à " & @hour & "H " & @min & "min " & "et " & @sec & "sec "); &"erreur " & $erreur & " : " & $erreurtext)
Else ; le fichier de log n'existe pas donc je le créé
_FileCreate($nomrepertoire & "\" &$nomfichier)
sleep(100)
FileWrite($nomrepertoire & "\" &$nomfichier,"une erreur reseau est survenue à " & @hour & "H " & @min &"min " & "et " & @sec &"sec " &"erreur "); & $erreur & " : " & $erreurtext )
EndIf
EndIf
next
WEnd
func quitter ()
Exit
EndFunc



