项目实战TT(四) 本机IPv4地址的获得

 这TT这个项目中,我本来想使用别人一个现成的获得IP地址的程序,但是,在调试中出现错误,当我断点调试时,我发现,我获的这个地址竟然是IPv6的地址,所有,我有上网找了找,最后,找到了一个可以获得本机IPv4地址的程序,如下

public static string MyHostIP()
{
var LoacIpv4 = GetLocalIpv4();
if (LoacIpv4.Length == 0)
return "";
return LoacIpv4[0];//这里第一个地址就是你本机的IPv4,为啥就有一个哪?((*^__^*) )因为当你安装虚拟机时,这个程序
                              //GetLocalIpv4会返回所有的IPv4地址,包括你虚拟机的,而第一个就是你的本机IPv4
        }
public static string[] GetLocalIpv4()
{
//事先不知道ip的个数,数组长度未知,因此用StringCollection储存
IPAddress[] localIPs;
localIPs = Dns.GetHostAddresses(Dns.GetHostName());
StringCollection IpCollection = new StringCollection();
foreach (IPAddress ip in localIPs)
{
//根据AddressFamily判断是否为ipv4,如果是InterNetWorkV6则为ipv6
if (ip.AddressFamily == AddressFamily.InterNetwork)
IpCollection.Add(ip.ToString());
}
string[] IpArray = new string[IpCollection.Count];
IpCollection.CopyTo(IpArray, 0);
return IpArray;
}



posted on 2012-02-26 16:07  lufangtao  阅读(822)  评论(0编辑  收藏  举报

导航