2008年2月19日星期二

Dns.GetHostEntry 在XP和Vista中的不同表现

程序中有一个地方要求记录IP地址,以前在XP一直用

IP = "(" & My.Computer.Name & ")" & System.Net.Dns.GetHostEntry(My.Computer.Name).AddressList(0).ToString

这个方法取得IP,从来都是正常的。

可最近操作系统换成了Vista,程序再运行的时候我发现这个方法取回的值变成了IPv6的地址,看着根本不知道是哪个机器,上网查了查,把这个方法改了一下就正常了。

For Each i As System.Net.IPAddress In _System.Net.Dns.GetHostEntry(My.Computer.Name).AddressList

If i.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Then

.IP = "(" & My.Computer.Name & ")" & i.ToString
Exit For

End If

Next

没有评论: