Accueil > > > PETIT LOGICIEL PERMETTANT DE SURVEILLER UNE LIAISON ADSL
PETIT LOGICIEL PERMETTANT DE SURVEILLER UNE LIAISON ADSL
Information sur la source
Description
Par ping sur divers sites supposés répondre selon le principe suivant : le premier est pingué, s'il répond pas de problème sinon le second est pingué, si répond pas de problème sinon le troisième est pingué, s'il répond pas de probleme si le troisieme lui aussi ne répond pas, on considére que l'ADSL est coupé, une message de déconnection est écrit dans un fichier appelé test.txt : il commence par D (comme déconnection!) et contient la date et l'heure du constats le programme continue. Lorsque la connection est rétablie, un message est écrit dans le fichier test. Il commence par C (comme connection!) et contient l'heure .. Ce programme peut tourner perpétuellement .. Au début il vérifie si test.txt existe et si oui en fait une sauvegarde avant de le remettre à zéro et de commencer à l'utiliser. Le premier message donne les adresses à pinguer (données en paramètre) et l'heure de lancement. Voilà bon usage!!
Source
- 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, Codret 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) = "82.122.13.170"
- AdressesPing(2) = "193.253.160.3"
- 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)
- ' Test du code retour du Ping
- If PingReply.Status <> Net.NetworkInformation.IPStatus.Success Then
- CodRet = PingReply.Status.ToString
- Throw New Net.NetworkInformation.NetworkInformationException(9999)
- End If
- ' 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)
- If PingReply.Status <> Net.NetworkInformation.IPStatus.Success Then
- Throw New Net.NetworkInformation.NetworkInformationException(9999)
- End If
- ' 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)
- If PingReply.Status <> Net.NetworkInformation.IPStatus.Success Then
- Throw New Net.NetworkInformation.NetworkInformationException(9999)
- End If
- ' 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
- If Connecte Then
- Connecte = False
- My.Computer.FileSystem.WriteAllText("C:test.txt", "D" & "," & "1," & AdressesPing(0) & "," & DateString & "," & TimeString & " " & "Code Retour = " & Codret & " " & Chr(13), True)
- End If
- End Try
- End Try
- End Try
-
- ' Pause de 15 seconde entre chaque ping
- System.Threading.Thread.Sleep(30000)
- End While
- End Sub
-
- End Module
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, Codret 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) = "82.122.13.170"
AdressesPing(2) = "193.253.160.3"
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)
' Test du code retour du Ping
If PingReply.Status <> Net.NetworkInformation.IPStatus.Success Then
CodRet = PingReply.Status.ToString
Throw New Net.NetworkInformation.NetworkInformationException(9999)
End If
' 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)
If PingReply.Status <> Net.NetworkInformation.IPStatus.Success Then
Throw New Net.NetworkInformation.NetworkInformationException(9999)
End If
' 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)
If PingReply.Status <> Net.NetworkInformation.IPStatus.Success Then
Throw New Net.NetworkInformation.NetworkInformationException(9999)
End If
' 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
If Connecte Then
Connecte = False
My.Computer.FileSystem.WriteAllText("C:test.txt", "D" & "," & "1," & AdressesPing(0) & "," & DateString & "," & TimeString & " " & "Code Retour = " & Codret & " " & Chr(13), True)
End If
End Try
End Try
End Try
' Pause de 15 seconde entre chaque ping
System.Threading.Thread.Sleep(30000)
End While
End Sub
End Module
Conclusion
en position de force pour discuter de la qualité de votre liaison avec un forunisseur
Historique
- 02 novembre 2007 09:53:03 :
- Correction du code qui ne marchait pas très bien.
Le module s'appelle PingCTRLErreurs, il suffit de l'appeler en lui donnant en paramétre trois adresse à pinguer.
Il ne fait aucun contrôle sur les adresses, on peut donner trois fois la même. Si on en donne pas trois cela provoque une erreur.
- 07 janvier 2008 14:41:57 :
- code non fourni la premiere fois par erreur!
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Outlook et Adsl [ par CHRISTOPHE ]
Salut,Voila la situation.J'ai deux PC reliés par un LAN.Le premier est connecté à internet par une liaison Adsl.Le second partage cette liaison grâce
Outlook et adsl urgent !!! [ par CHRISTOPHE ]
Salut,Voila la situation.J'ai deux PC reliés par un LAN.Le premier est connecté à internet par une liaison Adsl.Le second partage cette liaison grâce
Attaquer un serveur SQL via une liaison ADSL de 512 [ par francisco ]
Bonjour à tousJ'ai un problème et j'espère franchement que vous m'aidiezNous avons developpé sous vb6, une application de caisse déconnectée qui neces
Problème de liaison entre une application et un serveur SQL [ par wacssine ]
Bonjour,Mon problème c'est que je veus lier mon application avec un serveur SQL et l'utilisateur doit choisir la base dans le serveur sur laquelle va
liste d'appareil à partir d'un ping [ par jon51 ]
bonjour,je suis en ce moment sur mon prjet pour mon BTS que je dévellope en VB 2005 expresse, je voudrais que grace a un ping une liste d'appareil pré
Communication PC Automate par liaison ethernet [ par Flewms ]
Dans le cadre de mon stage de fin d'étude (DUT GEII), je dois réaliser la communication entre un PC et un Automate Siemens S7-300 via la liaison ether
liaison automate PC [ par iverson59 ]
Bonjour,je suis actuellement en stage, et je dois pouvoir récupérer toutes les sources contenues dans des automates Télémécanique pour faire un traite
Liaison Word et VB.2008 [ par samuss ]
Bonjour tout le monde, Après avoir pas mal chercher je n'ai pas trouvé mon bonheur, je m'explique je suis en train de créer un logiciel de gestion de
Surveillance d'une base de données avec un service Windows ? [ par oo7jb5 ]
<
dialogue entre access et un terminal via une liaison série [ par yoann_b29 ]
Bonjour,J'ai fait une base de données sous access, et maintenant, je doit pouvoir lancer un terminal (du type hyperterminal ou teraterm...)et y envoye
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|