这是我的代码获取IP地址:
Dim ip
Dim strHostName = System.Net.Dns.GetHostName()
Dim iphe As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(strHostName)
For Each ipheal As System.Net.IPAddress In iphe.AddressList
If ipheal.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Then
ip = ipheal
Exit For
End If
Next
如果我的PC通过VPN连接到网络。返回网络VPN的IP。
我只想获取本地IP(网络VPN除外)。
答案 0 :(得分:1)
您可以列出列表中的所有IP地址,然后根据该列表做出决定。因此,不要退出FOR循环,而是处理所有IP地址。那是你能做的最好的。 请参见下面的代码段。
Imports System.Net.Sockets
Module Module1
Sub Main()
Dim iphe As Net.IPHostEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName())
Dim ip = iphe.AddressList.Where(Function(n) n.AddressFamily = AddressFamily.InterNetwork)
For Each i In ip
Console.WriteLine(i)
Next
Console.ReadLine()
End Sub
End Module