我想使用c#查找本地网络上的所有设备。如何ping我的本地网络中的所有设备并获得响应?
目前的解决方案基于ping本地网络上的每个IP。的东西,在这里解释:
How to Perform Multiple "Pings" in Parallel using C#
的问题是,如果我有一个网络接口更我的电脑上(例如一个无线网络连接和一个以太网),我怎么能知道哪一个我应该平?如何为每个网络找到合适的地址范围?等等。如果子网掩码是非常大的(例如,当子网是255.255.0.0,它会花费大量的时间来做到这一点
还有一些其他的建议解决方案,如本:
Locating computer on subnet/network
但我怎么能ping到广播地址,在C#中找到谁在接听?平只返回一个结果,一个IP(我说的对)?
有没有更好的解决办法?
合适的地址=获得一个接口的IP地址,获得它的网络掩码,这将为您提供“本地”IP地址范围。 –
@MarcB如何获得接口IP及其掩码?我如何枚举计算机中的接口? – mans
出于好奇,也许提出了一个完全不同的解决方案,你会介意告诉我们整体情况是什么吗?为什么你想ping所有可能的地址? – RenniePet