在线等。。。专业人士速来。。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,真是崩溃,求高手啊。。。
...全文
206 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
  • 打赏
  • 举报
回复
你同事机子是不是有多个网卡啊
内容概要:本文详细介绍了利用FPGA(特别是赛灵思Artix-7)和CYPRESS CYUSB3014实现USB3.0高速数据传输的具体方案。首先讨论了硬件选型,强调了Artix-7 A35T FPGA与CYUSB3014 USB3.0控制器的组合优势,包括无需购买额外IP核授权、支持自定义固件等特点。接着深入探讨了固件开发流程,涵盖FPGA端的数据打包逻辑(如AXI Stream协议)、USB控制器配置以及上位机软件实现(采用Python+libusb或C#)。文中提供了多个代码实例,展示了如何处理数据打包、状态机设计、时钟同步等问题,并分享了一些实用技巧,如使用CRC校验增强可靠性、通过DDR3内存映射提高传输效率等。此外,作者还提到了常见的调试难题及其解决方案,例如USB枚举问题、时钟域交叉处理等。 适合人群:从事嵌入式系统开发、FPGA应用设计的专业人士,尤其是那些希望深入了解USB3.0通信机制并在项目中实施相关技术的研发工程师。 使用场景及目标:适用于需要建立稳定高效的FPGA与PC间数据交换通道的应用场合,如图像处理、传感器数据采集等领域。主要目的是帮助开发者掌握从硬件搭建到软件编程的一系列关键技术,从而构建性能优越的数据传输系统。 其他说明:文中不仅包含了详细的理论解释和技术细节,还有丰富的实战经验分享,对于初学者来说是非常宝贵的参考资料。同时提醒读者关注实际操作过程中可能出现的问题,如电平兼容性、电源稳定性等,确保设计方案的成功落地。

111,120

社区成员

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

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

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