Я пишу небольшую программу, которая будет подключаться к FTP-серверу, работающему на телефоне Android (который подключен через WiFi к той же сети). У меня нет контроля над кодом Android для FTP-сервера.
Проблема в том, что ПК, на котором запущена моя программа, и телефон имеют динамически распределяемые IP-адреса, и оба эти IP-адреса часто меняются.
Я мог бы назначить фиксированные IP-адреса на уровне маршрутизатора, но мне хотелось бы чего-то более умного и удобного для потребителя. В результате, я думаю, мне нужна моя программа для сканирования всех IP-адресов в поисках телефона с работающим FTP-сервером.
Первоначальные исследования предполагают, что я должен определить IP-адрес ПК и маску подсети, а затем использовать их для расчета диапазона IP-адресов для сканирования.
Так, например, если ПК 192.168.1.70
, а маска подсети 255.255.255.0
, моя программа должна сканировать от 192.168.1.1
до 192.168.1.254
, чтобы найти этот телефон с FTP-сервером.
Учитывая, что я не могу изменить код FTP-сервера для выполнения какой-либо трансляции, является ли это правильным способом проверки существования службы? Если нет, то как мне это сделать?
В качестве бонуса: есть ли простой способ рассчитать, какой диапазон я должен сканировать в VB.net?
nbtstat -A
с IP-адресом телефона, и ничего не возвращается, так что я прав, предполагая, что имя устройства неизвестно? Неважно, есть ли другие FTP-серверы, поскольку программа попытается подключиться (используя предоставленные учетные данные) и продолжит сканирование, если они не работают. - person Richard   schedule 16.12.2014