不是要得到最后一条记录!是要获取ipv4的地址!从网上找到的“ if (ipe.AddressList[i].AddressFamily.ToString() == "InterNetwork")”这样判断是否是ipv4地址,找到之后应该加个break退出循环就好了!这段代码后面是为了建立udp的端口监听!不知道做端口监听的时候是否可以使用IpAddress.Any?没做过网络编程很多东西不懂!还希望不吝赐教!谢谢!
System.Net.IPHostEntry IpEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()); for (int i = 0; i != IpEntry.AddressList.Length; i++) { if (!IpEntry.AddressList[i].IsIPv6LinkLocal) { MessageBox.Show(IpEntry.AddressList[i].ToString()); } }
不是要得到最后一条记录!是要获取ipv4的地址!从网上找到的“ if (ipe.AddressList[i].AddressFamily.ToString() == "InterNetwork")”这样判断是否是ipv4地址,找到之后应该加个break退出循环就好了!这段代码后面是为了建立udp的端口监听!不知道做端口监听的时候是否可以使用IpAddress.Any?没做过网络编程很多东西不懂!还希望不吝赐教!谢谢!
运行结果是15.0.0.0
运行环境是xp,没有ipv6地址吧?不过是一个无盘工作站!网吧里的一台电脑!单网卡!不知道这个有没有什么关系?谢谢!
{
if (!IpEntry.AddressList[i].IsIPv6LinkLocal)
{
MessageBox.Show(IpEntry.AddressList[i].ToString());
}
}
运行结果是15.0.0.0
运行环境是xp,没有ipv6地址吧?不过是一个无盘工作站!网吧里的一台电脑!单网卡!不知道这个有没有什么关系?谢谢!
15.0.0.0肯定不是合法的网络地址,你自己设置的?
运行结果是15.0.0.0
运行环境是xp,没有ipv6地址吧?不过是一个无盘工作站!网吧里的一台电脑!单网卡!不知道这个有没有什么关系?谢谢!
15.0.0.0肯定不是合法的网络地址,你自己设置的?
不是,ip地址是网管设置的!我用ipconfig -all 查看到的ip地址是正常的!只是程序获取到的不正常!
另外,我用虚拟机装个xp系统,使用同样的代码可以实现和win8的通讯,都很正常!就是拿到真实的环境里就出现这种问题!不知道是不是和网吧的路由啊,什么arp啊什么的有关系?不太懂这些!