如何使用vb获取本地IP地址?

Raj*_*ddy 6 vb.net

如何在vb.net中获取IP地址.我使用下面的代码来获取本地IP地址,但它没有声明显示dns.任何人都能告诉我守则中的Dns是什么

VB代码

Imports System.Environment
Imports System.Net

Public Class Tester
Public Shared Sub Main
Dim hostname As String = Dns.GetHostName()
Dim ipaddress As String = CType(Dns.GetHostByName(hostname).AddressList.GetValue(0), IPAddr
ess).ToString
Console.WriteLine("Computer Name: " & hostname & " IP Address: " & ipaddress)
End Sub

End Class
Run Code Online (Sandbox Code Playgroud)

Lev*_*ite 5

因为我觉得,问题(在标题中)还没有完全回答......

Dim hostName = System.Net.Dns.GetHostName()
For Each hostAdr In System.Net.Dns.GetHostEntry(hostName).AddressList()

    ' If you just want to write every IP
    Console.WriteLine("Name: " & hostName & " IP Address: " & hostAdr.ToString() 

    ' If you want to look if the device is member of a specific network
    If hostAdr.ToString().StartsWith("192.168.1.") Then DoSomething() : Exit For

    ' I think you get the idea ^^
    ' ...
Next
Run Code Online (Sandbox Code Playgroud)

...显然这不完全是 OP 所要求的,但仅从标题和谷歌链接来看,这应该可以回答来这里的人正在寻找的内容。

顺便说一句,GetHostByName()似乎已被弃用,GetHostEntry()就像这样以相同的方式工作,而不会发出警告。


Yah*_*hia 2

Dns是命名空间中的一个类System.Net,它提供有关“域名系统”的功能(因此名称Dns) - 请参阅http://msdn.microsoft.com/en-us/library/system.net.dns.gethostname.aspx