如果在VB.net中不存在ipv4,如何获取ipv6

问题描述 投票:-1回答:1

我知道如何获得ipv4和ipv6,但我有问题。我的任务是编写将获得ipv4的代码,如果它存在,如果不是获取ipv6

我的get ipv4源代码如下:

szIPAdress = System.Net.Dns.GetHostName()
'szIPAdress = System.Net.Dns.GetHostEntry(szIPAdress).AddressList.ToString()
Dim hostname As IPHostEntry = Dns.GetHostByName(szIPAdress)
Dim ip As IPAddress() = hostname.AddressList
.net vb.net ip-address
1个回答
0
投票

看看这些应该对你有帮助:

使用它来获取IPv4:

Public Function GetIPv4Address() As String

    Dim hostEntry As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())

    Dim address As String = ""

    Try
        address = hostEntry.AddressList().Where(Function(a) a.AddressFamily = Sockets.AddressFamily.InterNetwork).First().ToString()
    Catch
    End Try

    Return address

End Function

用它来获取IPv6:

Public Function GetIPv6Address() As String

    Dim hostEntry As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())

    Dim address As String = ""

    Try
        address = hostEntry.AddressList().Where(Function(a) a.AddressFamily = Sockets.AddressFamily.InterNetworkV6).First().ToString()
    Catch
    End Try

    Return address

End Function
© www.soinside.com 2019 - 2024. All rights reserved.