C#Winform 如何获取本机IP

C#Winform 如何获取本机IP

分类:C#/.NET 
 获取本机第一个可用的IP地址

IPAddress myIPAddress = (IPAddress)Dns.GetHostAddresses(Dns.GetHostName()).GetValue(0);

学习书上写的方法,此方法应该比较旧了吧



问题1,我有使用路由器的且手动配置IP地址(即192.168.1.101这样),但是用上面的方法,不能获取实际的IP地址(即119.X.X.X这样的),只能获取在路由器上的IP,请问怎么修改上面的代码?



问题2,(与问题1无关)上面的方法,我在WIN7下获取IP地址是一段奇怪的数字,请问这也怎么修改上面的代码?
 
2010-09-11 10:23提问者采纳
 
如果是在vs2008中会发现楼上的方法已过期 ,但是强制使用的话也不会报错
vs2008中可以这样获取ip地址:
IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipa=ipe.AddressList[0];

关于win7的问题,
因为在win7中已经启用了IPv6,所以 ipe.AddressList[0]返回的是IPv6格式的地址,应该使用 ipe.AddressList[1] 返回 IPv4 格式地址
如果有多个网卡,可以设断点监视 ipa的值,看是否是需要的地址
提问者评价
谢谢
posted @ 2014-07-14 18:52  力行进取  阅读(1199)  评论(0)    收藏  举报