【发布时间】:2015-02-14 23:18:52
【问题描述】:
我正在编写一个小程序,它将连接到运行在 Android 手机上的 FTP 服务器(通过 WiFi 连接到同一网络)。我无法控制 FTP 服务器的 Android 代码。
问题是运行我的程序的 PC 和手机的 IP 地址是动态分配的,而且这两个 IP 地址都经常变化。
我可以在路由器级别分配固定的 IP 地址,但我想要一些更智能且对消费者更友好的东西。因此,我认为我需要我的程序扫描所有 IP 地址,以查找正在运行 FTP 服务器的电话。
初步研究表明我应该计算出 PC 的 IP 地址和子网掩码,然后使用它来计算要扫描的 IP 范围。
例如,如果 PC 是 192.168.1.70 并且子网掩码是 255.255.255.0,那么我的程序应该从 192.168.1.1 扫描到 192.168.1.254 以找到带有 FTP 服务器的手机。
鉴于我无法更改 FTP 服务器代码来进行任何类型的广播,这是扫描服务是否存在的正确方法吗?如果没有,我应该怎么做?
作为奖励点:有没有一种简单的方法可以计算我应该在 VB.net 中扫描的范围?
【问题讨论】:
-
设备 name 是否对客户端未知?另外:如果另一个 FTP 服务器恰好在网络上处于活动状态怎么办?
-
我尝试使用手机的 IP 地址运行
nbtstat -A,但没有返回任何内容,所以我假设设备名称未知是否正确?是否有其他 FTP 服务器无关紧要,因为程序将尝试连接(使用提供的凭据)并在它们不起作用时继续扫描。
标签: vb.net networking ftp ip-address