【求助】关于win7和XP获取本机IP地址不同的问题
如题,我做了一个服务器,想获取本机的IP地址用来监听自己
代码如下
m_server.IpAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
但是问题是我在win XP下获取没问题,是IPV4的地址
但是win7好像支持了IPV6的地址,用这个方法获取的是IPV6地址,所以格式都变了
格式变了之后用tcpclient监听的时候就会显示IP的格式不正确不能识别
当然在win7下关闭IPV6服务是可以的,但是有什么办法可以让我获取IPV4的地址啊
谢谢各位了
[解决办法]
遍历AddressList
if(Dns.GetHostEntry(Dns.GetHostName()).AddressList[i].AddressFamily == AddressFamily.InterNetwork)
{
m_server.IpAddress=Dns.GetHostEntry(Dns.GetHostName()).AddressList[i];
break;
}