Comment puis-je renvoyer l'adresse IPv4 dans VB.Net?Adresse IPv4 de retour VB.Net
par ex. 192.168.1.5
Comment puis-je renvoyer l'adresse IPv4 dans VB.Net?Adresse IPv4 de retour VB.Net
par ex. 192.168.1.5
Dim myClientMachineAddressList As IPHostEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName())
Dim myClientMachineIP As String = myClientMachineAddressList.AddressList(0).ToString()
modifier:
vous pouvez alors utiliser IPAddress.AddressFamily pour trouver le type familliale IP.
Quelque chose comme ça
Public Function GetIpV4() As String
Dim myHost As String = Dns.GetHostName
Dim ipEntry As IPHostEntry = Dns.GetHostEntry(myHost)
Dim ip As String = ""
For Each tmpIpAddress As IPAddress In ipEntry.AddressList
If tmpIpAddress.AddressFamily = Sockets.AddressFamily.InterNetwork Then
Dim ipAddress As String = tmpIpAddress.ToString
ip = ipAddress
exit for
End If
Next
If ip = "" Then
Throw New Exception("No 10. IP found!")
End If
Return ip
End Function
+1 bien écrit :) – Cicik
mieux que je peux faire est que, ne renverra que IPv4 adresse tout en utilisant les fonctions de tableau et des expressions lambda, très propre:
Public Function GetHostEntryIPv4(ByVal addr As String) As IPHostEntry
Dim ipHostInfo As IPHostEntry = Dns.GetHostEntry(addr)
If Not IsNothing(ipHostInfo) Then
ipHostInfo.AddressList = Array.FindAll(ipHostInfo.AddressList, Function(n As IPAddress) n.AddressFamily = AddressFamily.InterNetwork)
End If
GetHostEntryIPv4 = ipHostInfo
End Function
Voulez-vous que l'adresse IP d'un nom d'hôte donné? Ou l'adresse IP d'une demande entrante? Ou l'adresse IP de la machine locale (qui pourrait avoir plusieurs adresses)? – Jason