Bonjour à tous,
Pour la réalisation d'un projet important, j'ai besoin de deux fonctions/procédures :
- Une procédure qui envoie un ping sur une machine du réseau ;
- Une fonction qui donne l'adresse IP quand on lui transmet le nom d'une machine.
J'ai trouvé deux petites fonctions sur ce site qui me permettent de réaliser ce que je cherche. Voici les codes de ces fonctions :
- Procédure qui envoie les ping :
Je l'ai testée dans un petit programme et cela a très bien fonctionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Ping(ByVal strMachine As String) Dim strMessage As String Dim monPing As Ping = New Ping Try Dim Reply As PingReply = monPing.Send(strMachine) If Reply.Status = IPStatus.Success Then strMessage = "Le ping de la machine " & strMachine & " a répondu correctement." Else strMessage = "Le ping de la machine " & strMachine & " n'a pas répondu." End If MessageBox.Show(strMessage) Catch ex as Exception MessageBox.Show(ex.Message) End Try End Sub
Je l'ai essayée dans une autre classe comportant un plus grand nombre de fonctions et je n'ai pas oublié d'ajouter "Imports System.Net.NetworkInformation" et au moment de l'exécution, je reçois une exception : "Une exception s'est produite lors d'une demande PING.".
- Fonction renvoyant l'adresse IP :
Je l'ai également testée dans un petit programme et cela a très bien fonctionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Function ReverseDNS(ByVal strMachine As String) Dim strAdresses As String() = Nothing Dim adressesIP As IPAddress() = Dns.Resolve(strMachine).AddressList If adressesIP.Length > 0 Then strAdresses = New String(adressesIP.Length) {} Dim intI As Integer = 0 While intI < adressesIP.Length strAdressesIP(intI) = adressesIP(intI).ToString intI = intI + 1 End While End If End Function
Au moment de la rajouter dans l'autre classe de mon projet, comme pour la procédure Ping, cela ne fonctionnait pas. Je recevais comme exception : "Le nom demandé est valide mais aucune donnée du type requise n'a été trouvée.".
Comment peut-on expliquer qu'un code fonctionnant correctement dans un petit programme ne fonctionne plus dans un autre ? Alors que le code est identique.
Merci d'avance !
Partager