可能重复:
从移动设备获取局域网中的所有 IP 主机
如何以编程方式获取无线网络中的所有主机?
我知道我正在使用的 wlan,并且我已连接到它。现在我想显示一个主机列表(或者至少是它们的 IP 地址)。
我怎样才能做到这一点,如果我在具有紧凑框架的 Windows Mobile 上工作并想要这样做,是否有特别之处?
可能重复:
从移动设备获取局域网中的所有 IP 主机
如何以编程方式获取无线网络中的所有主机?
我知道我正在使用的 wlan,并且我已连接到它。现在我想显示一个主机列表(或者至少是它们的 IP 地址)。
我怎样才能做到这一点,如果我在具有紧凑框架的 Windows Mobile 上工作并想要这样做,是否有特别之处?
有很多方法。例如:
http://msdn.microsoft.com/en-us/library/aa366358%28VS.85%29.aspx
http://social.msdn.microsoft.com/Forums/en/netfxnetcom/thread/8a528983-915b-4d94-836e-804b03e6261f
ETC
简单的答案是:你不能。更详细地说:除非你有一个协议来发现你的主机,否则你不能,例如,NetBIOS。您可以通过 pInvoke 调用 NetBEUI(NetBios 用户界面)。看看这个之前的帖子:
您可以使用的另一种方法是 ping WLAN 范围内的所有 IP 地址并等待响应。这不是一个好方法,因为它非常消耗资源。
获取网络中所有主机的唯一方法是使用网络扫描。
您可以 ping 设备所在网络的所有有效 IP。
或者,您可以在本地 DNS 服务上检查网络的每个有效 IP 以获取名称,并列出您找到的具有相应 IP 的不同名称。
如果子网掩码对应的位与设备拥有的 IP 相同,则 IP 有效。