首页 新闻 会员 周边

c#一般处理程序怎么获取本机ip地址

0
悬赏园豆:20 [待解决问题]
          string Name = Dns.GetHostName(); //获取本机计算机名
          IPHostEntry IP = Dns.GetHostEntry(Name); //获取本地IP       
          model.LASTLOGINIP = IP.ToString();
这么写前端页面显示的是一个程序集!怎么样让他显示正常的ip地址
我是一个xiaocainiao的主页 我是一个xiaocainiao | 初学一级 | 园豆:9
提问于:2016-09-18 16:41
< >
分享
所有回答(6)
0

。。。那你看看IP还有什么字段呗,他是一个类,ToString默认是类型名称。

顾晓北 | 园豆:10844 (专家六级) | 2016-09-18 16:44

ip没有字段了。LASTLOGINIP这就是ip的那个字段。添加到数据库显示出来就行了。就是显示出来是这样的

支持(0) 反对(0) 我是一个xiaocainiao | 园豆:9 (初学一级) | 2016-09-18 16:55

@我是一个xiaocainiao: 如果这是qq,我一定给你一个流汗的表情。。。

string Name = Dns.GetHostName(); //获取本机计算机名           IPHostEntry IP = Dns.GetHostEntry(Name); //获取本地IP 

我说的是IP是你的IPHostEntry类型的这个IP还有什么属性。。。

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2016-09-18 17:03
0

IPHostEntry.ToString是拿不到你要的ip信息的,这个是个集合(你机器上可能有多张网卡,有ipv4/v6)。

你再从这个对象的AddressList中找你对应的AddressFamily的ipaddress再tostring

Daniel Cai | 园豆:10424 (专家六级) | 2016-09-18 17:26
1

string Name = System.Net.Dns.GetHostName(); //获取本机计算机名
System.Net.IPHostEntry IPs = System.Net.Dns.GetHostEntry(Name); //获取本地IP
string _ip = "";
foreach(System.Net.IPAddress ip in IPs.AddressList)
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
_ip = ip.ToString();
}
}

JackWang-CUMT | 园豆:2866 (老鸟四级) | 2016-09-18 17:27
0

你要服务端ip,还是客户端

小小高 | 园豆:1095 (小虾三级) | 2016-09-19 12:06
0

遍历下你那个Ip中的Addresslist啊!有个物理地址,还有个就是Ip地址。。。

~扎克伯格 | 园豆:1923 (小虾三级) | 2016-09-19 15:06
0

 这个方法不行了,在win7获得的就不是真的IP了

jqw2009 | 园豆:2439 (老鸟四级) | 2017-09-04 16:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册