说明
在接下俩的文章中主要和大家分享一下在VB.NET中如何通过System.NET以及System.NET.Sockets来获取本机和远程机器的名称以及IP地址。
实例二为通过输入输入远程端IP来获取远程端机器名。
操作步骤
- 首先需要注意的是,在编程之前需要引用下面的一些系统命名空间:
Imports System Imports System.NET Imports System.Data Imports System.Drawing Imports System.NET.Sockets Imports System.ComponentModel
- 对于具体的VB.NET程序,大家可以通过按钮和文本框来获取,所以在这里就不再写如何搭建程序界面了。
获取本机
Dim HostName As String
Dim HostIP As IPHostEntry //定义主机IP地址集
Dim IPAddress As IPAddress //定义IP地址
HostName = Dns.GetHostName //获取本地主机名称
HostIP = Dns.GetHostByName(Dns.GetHostName()) //获取本地主机的IP地址集
IPAdress = New IPAddress(HostIP.AddressList(0).Address) //获取本地主机的IP地址
Me.TextBox1.Text = HostName
Me.TextBox2.Text = IPAddress.ToString
获取远程机器
Dim HostName As String
Dim HostIP As IPHostEntry
Dim IP As String
Try
IP = Me.TextBox3.Text \\输入IP地址
HostIP = Dns.GetHostByAddress(IP) \\通过IP来获取IP地址集
Catch
MessageBox.Show(Err.Description,"错 误",MessageBoxButtons.OK,MessageBoxIcon.Error)
End Try
HostName=HostIP.HostName
Me.TextBox4.Text = HostName
总结
对于第一个例子中的HostIP.AddreRSSList(0).Address当中的“0”表示“获取本机在局域网中的IP地址”,如果改成“1”则表示“获取本机动态分配地址(外网)。并且对于灵活运用获取IP的方法可以总结为:
IPAddress Local = Dns.GetHostByName(name).AddressList[0];
IPAddress Net = Dns.GetHostByName(name).AddressList[1];
大家也可以根据自己的理解在自己的代码中灵活运用。