asp.net中c#获取本机IP地址实例代码
时间:2022-06-25 08:19:46 编辑:袖梨 来源:一聚教程网
例1
代码如下 | 复制代码 |
using System; 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
代码如下 | 复制代码 |
|
例3
上面的方法满足不了我的需求,然后我在Google搜了一些,并没有个很好的办法,于是自己摸索写下了这个方法。如果觉得有些地方欠妥的
代码如下 | 复制代码 |
/// /// 得到本机IP /// 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; } ?//得到网关地址 ?/// /// 判断是否为正确的IP地址 /// /// 需要判断的字符串 /// public static bool IsRightIP(string strIPadd) { //利用正则表达式判断字符串是否符合IPv4格式 if (Regex.IsMatch(strIPadd, "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}")) { //根据小数点分拆字符串 string[] ips = strIPadd.Split('.'); if (ips.Length == 4 || ips.Length == 6) { //如果符合IPv4规则 if (System.Int32.Parse(ips[0]) < 256 && System.Int32.Parse(ips[1]) < 256 & System.Int32.Parse(ips[2]) < 256 & System.Int32.Parse(ips[3]) < 256) //正确 return true; //如果不符合 else //错误 return false; } else //错误 return false; } else //错误 return false; } ?/// /// 尝试Ping指定IP是否能够Ping通 /// /// 指定IP /// public static bool IsPingIP(string strIP) { try { //创建Ping对象 Ping ping = new Ping(); //接受Ping返回值 PingReply reply = ping.Send(strIP, 1000); //Ping通 return true; } catch { //Ping失败 return false; } } |
相关文章
- 《弓箭传说2》新手玩法介绍 01-16
- 《地下城与勇士:起源》断桥烟雨多买多送活动内容一览 01-16
- 《差不多高手》醉拳龙技能特点分享 01-16
- 《鬼谷八荒》毕方尾羽解除限制道具推荐 01-16
- 《地下城与勇士:起源》阿拉德首次迎新春活动内容一览 01-16
- 《差不多高手》情圣技能特点分享 01-16