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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
Imports System
Imports System.Threading
Module pingctrlerreur
Sub Main(ByVal cmdArgs() As String)
Dim millisecondsTimeout As Integer
Dim Connecte As Boolean
Dim nouveaunom, vrainouveaunom As String
Dim AdressesPing(3) As String
Dim IpAddr As String
Dim Ping As New Net.NetworkInformation.Ping
Dim PingReply As Net.NetworkInformation.PingReply
millisecondsTimeout = 30000
Connecte = False
If My.Computer.FileSystem.FileExists("test.txt") Then
nouveaunom = "C" & DateString & TimeString & ".txt"
vrainouveaunom = Replace(nouveaunom, ":", "")
My.Computer.FileSystem.RenameFile("test.txt", vrainouveaunom)
End If
If cmdArgs.Length > 0 Then
For argNum As Integer = 0 To UBound(cmdArgs, 1)
AdressesPing(argNum) = cmdArgs(argNum)
Next argNum
Else
AdressesPing(0) = "194.2.0.50"
AdressesPing(1) = "194.2.0.50"
AdressesPing(2) = "194.2.0.50"
End If
My.Computer.FileSystem.WriteAllText("C:test.txt", _
"PING sur " & AdressesPing(0) & " " & AdressesPing(1) & " " & AdressesPing(2) & " " & " le " & DateString & " " & " à " & TimeString & Chr(13), True)
While True
Try
' On envoit la requete du ping
IpAddr = AdressesPing(0)
PingReply = Ping.Send(IpAddr)
' si la connection est déjà connue, on ne fait rien sinon on la note dans le fichier
If Not Connecte Then
Connecte = True
My.Computer.FileSystem.WriteAllText("C:test.txt", "C" & "," & "1," & AdressesPing(0) & "," & DateString & "," & TimeString & Chr(13), True)
End If
Catch ex As Exception
' En cas d'erreur ping deuxieme IP
Try
' On envoit la requete du ping
IpAddr = AdressesPing(1)
PingReply = Ping.Send(IpAddr)
' On affiche le résultat du ping
' tant que ça marche, on ne fait rien
' si le ping ne marche pas le catch ex as exception doit prendre le controle
Catch ex1 As Exception
' En cas d'erreur sur deuxieme IP ping troisieme IP
Try
' On envoit la requete du ping
IpAddr = AdressesPing(2)
PingReply = Ping.Send(IpAddr)
' On affiche le résultat du ping
' tant que ça marche, on ne fait rien
' si le ping ne marche pas le catch ex as exception doit prendre le controle
Catch ex2 As Exception
' En cas d'erreur sur la troisième IP :
' si la deconnection est déjà connue on ne fait rien sinon
' on écrit la deconnection dans le fichier
' et on note la déconnection
Connecte = False
My.Computer.FileSystem.WriteAllText("C:test.txt", "D,,," & DateString & " " & TimeString & Chr(13), True)
End Try
End Try
End Try
' Pause de 15 seconde entre chaque ping
System.Threading.Thread.Sleep(1000)
End While
End Sub
End Module |
Partager