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 :

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 testée dans un petit programme et cela a très bien fonctionné.

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 :

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
Je l'ai également testée dans un petit programme et cela a très bien fonctionné.

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 !