在线等。。。专业人士速来。。C#如何获取本机有效的IP啊

Joe-Fan 2011-09-20 04:29:00
方案:
IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipa = ipe.AddressList[1];
我的是win7,所以取的AddressList[1],但是在同事的机子上,一个同事是AddressList[3],另一个同事是AddressList[2],崩溃
之后换了方法
就是判断是否为Internetwork,ipa.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork
结果呢,我的AddressList只有一个符合InterNetwork,但同事的居然出现3个InterNetwork,真是崩溃,求高手啊。。。
...全文
187 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Joe-Fan 2011-09-21
  • 打赏
  • 举报
回复
谢谢,ok的,不过说说过时了,强制还能用![Quote=引用 7 楼 zyloveyrf 的回复:]

//这样呢LZ
System.Net.IPAddress addr = new System.Net.IPAddress(Dns.GetHostByName(Dns.GetHostName()).AddressList[0].Address);
[/Quote]
Joe-Fan 2011-09-21
  • 打赏
  • 举报
回复
多谢你的建议啊[Quote=引用 8 楼 sp1234 的回复:]

引用楼主 fanxingthink 的回复:
方案:
IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipa = ipe.AddressList[1];
我的是win7,所以取的AddressList[1],但是在同事的机子上,一个同事是AddressList[3],另一个同事是AddressList[2]……
[/Quote]
  • 打赏
  • 举报
回复
[Quote=引用楼主 fanxingthink 的回复:]
方案:
IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipa = ipe.AddressList[1];
我的是win7,所以取的AddressList[1],但是在同事的机子上,一个同事是AddressList[3],另一个同事是AddressList[2],崩溃
之后换了方法
就是判断是否为I……
[/Quote]
这有什么奇怪的?一台机器上有很多网络适配器,有很多的IPv3地址,这是很正常的。不要少见多怪。

回过头来,看看你自己的编程思路,想想你是从网上哪一个文章里抄袭来的什么[0]这类代码,你其实当初就应该看出这个作者是没有真正的网络开发经验的,要对这类文章用自己的脑子看一看。
萧炎 2011-09-20
  • 打赏
  • 举报
回复
//这样呢LZ
System.Net.IPAddress addr = new System.Net.IPAddress(Dns.GetHostByName(Dns.GetHostName()).AddressList[0].Address);
showjim 2011-09-20
  • 打赏
  • 举报
回复
必需写个程序根据IP地址判断
至尊贱客 2011-09-20
  • 打赏
  • 举报
回复
private static string hostname;
private static System.Net.IPHostEntry localhost;
private static System.Net.IPAddress localaddr;

hostname = System.Net.Dns.GetHostName();
localhost = System.Net.Dns.GetHostByName(hostname);
localaddr = localhost.AddressList[0];

localaddr 就是局域网内有效IP
Joe-Fan 2011-09-20
  • 打赏
  • 举报
回复
一个网卡,不过装的有虚拟机,有关系不![Quote=引用 1 楼 wnyxy 的回复:]

你同事机子是不是有多个网卡啊
[/Quote]
Joe-Fan 2011-09-20
  • 打赏
  • 举报
回复
就是局域网对话,获取可用ip[Quote=引用 2 楼 shwicho 的回复:]

用途何在?需求是什麼
[/Quote]
  • 打赏
  • 举报
回复
用途何在?需求是什麼
wnyxy001 2011-09-20
  • 打赏
  • 举报
回复
你同事机子是不是有多个网卡啊

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧