2016-01-21 6 views
-1

Я делаю проект, где у меня встроенное устройство, работающее на веб-сервере, и подключенное к локальной сети Wi-Fi. Теперь я хочу, чтобы мой смартфон APP подключался к веб-серверу, но если бы я не решил использовать статический IP-адрес для моего встроенного устройства, приложение не знает, что такое IP-адрес веб-сервера.Как найти локальный веб-сервер, не зная IP?

Я искал mDNS, но андроид не поддерживает это, поэтому это не выход?

Любые идеи о том, как я могу подключить свое приложение к встроенному устройству?

(Google Chromecast делает именно это, но как?)

+0

Почему mdns? либо предоставить устройству статический IP-адрес, либо использовать dhcp со статическим отображением, а затем компонент dns станет мертвым простым. и независимо от того, оффтопик - не вопрос программирования. –

+0

@MarcB Устройство похоже на Chromecast, поэтому никаких настроек маршрутизатора. Я не могу предсказать, какой IP-адрес получит устройство. Я думаю, что Chromecast использует mDNS, а затем они внедрили свой собственный mDNS-клиент на Android. Я не согласен, хотя прямой прямой код не задействован, вопрос в том, какую технологию программирования использовать для достижения конкретной цели. – Jolle

ответ

0

Путь GoPro осуществляет это за счет того, камера обеспечивают точку доступа, а затем подключается непосредственно к нему со стороны клиента. Для встроенного устройства вы можете посмотреть hostapd. Возможно, вы могли бы хранить SSID и передавать фразу в приложении.

+0

Да точно. И мое устройство делает то же самое - создает свою собственную точку доступа для входа в систему для настройки домашней сети WiFi. Впоследствии он подключается к домашней сети, и здесь возникает проблема, потому что я не знаю, какой IP-адрес получит мое устройство. – Jolle

+0

Итак, вы просто используете hostapd в качестве промежуточного шага, чтобы настроить его параметры для режима клиента, в домашней сети? У вас есть Bluetooth на устройстве? Вы можете пропустить все вышеперечисленное и просто передать данные конфигурации таким образом. Кроме того, если устройство Android подключено к устройству (в режиме точки доступа), запишите MAC другого устройства в приложении. Затем, как только оба устройства вернутся в домашнюю сеть, выполните сканирование ARP для MAC. (arp -n на Linux ... на Android ...? https://stackoverflow.com/questions/4179299/scan-network-for-a-specific-mac-address-android может быть, это начало.) – Jameson