例1
代码如下 | 复制代码 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; namespace CSharpTest foreach (IPAddress address in ipHost) return hostInfo.ToString();
|
控制台输出结果:
本机名:meteor-PC
IP 地址:
fe80::a1a2:949c:1a51:5e6c%11
2002:b46f:20fa::b46f:20fa
169.254.94.108
180.111.32.250
例2
代码如下 | 复制代码 |
public static IPAddress GetHostIP() { IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName()); IPAddress ip = ipe.AddressList[0]; return ip; |
例3
上面的方法满足不了我的需求,然后我在Google搜了一些,并没有个很好的办法,于是自己摸索写下了这个方法。如果觉得有些地方欠妥的
代码如下 | 复制代码 |
/// <summary> /// 得到本机IP /// </summary> private string GetLocalIP() { //本机IP地址 string strLocalIP = ""; //得到计算机名 string strPcName = Dns.GetHostName(); //得到本机IP地址数组 IPHostEntry ipEntry = Dns.GetHostEntry(strPcName); //遍历数组 foreach(var IPadd in ipEntry.AddressList) { //判断当前字符串是否为正确IP地址 if (IsRightIP(IPadd.ToString())) { //得到本地IP地址 strLocalIP = IPadd.ToString(); //结束循环 break; } } //返回本地IP地址 return strLocalIP; } ?//得到网关地址 ?/// <summary> ?/// <summary> |