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地址是一段奇怪的数字,请问这也怎么修改上面的代码?
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的值,看是否是需要的地址
- 提问者评价
-
谢谢

浙公网安备 33010602011771号