2016-01-21 101 views
-1

我正在做一个项目,我有一个嵌入式设备运行一个网络服务器,并连接到本地WiFi网络。现在我想让我的智能手机应用程序连接到网络服务器,但除非我选择强制静态IP到我的嵌入式设备,否则应用程序无法知道网络服务器的IP是什么。如何在不知道IP的情况下查找本地网络服务器?

我已经看过mDNS,但是android不支持这个,所以这是不行的?

有关如何将我的应用程序连接到嵌入式设备的任何想法?

(谷歌的Chromecast正是这样做的,但如何?)

+0

为什么mdns?要么给设备一个静态IP,要么使用带有静态映射的dhcp,然后dns组件变得非常简单。而且无论如何,这都不是一个编程问题。 –

+0

@MarcB该设备类似于Chromecast,因此没有路由器设置。我无法预测该设备将获得哪个IP。我认为Chromecast使用mDNS,然后他们在Android上实现了自己的mDNS客户端。即使没有涉及直接代码,我也不同意,但问题是要使用哪种编程技术来实现特定目标。 – Jolle

回答

0

的方式GoPro的完成,这是由具有相机提供了一个接入点,然后直接从客户端连接到它。对于嵌入式设备,您可以查看hostapd。也许你可以在应用程序的某个地方存储SSID和密码。

+0

是的。而且我的设备也一样 - 为用户创建了自己的接入点,以便登录设置家庭WiFi网络。之后,它连接到家庭网络,这里出现问题,因为我不知道我的设备将获得哪个IP。 – Jolle

+0

因此,您只是使用hostapd作为中间步骤,在家庭网络上配置客户端模式的设置?您的设备上是否有蓝牙?您可以跳过上述所有内容,只需传递配置数据即可。或者,在Android设备连接到设备(处于接入点模式)时,将其他设备的MAC记录在您的应用程序中。然后,一旦两台设备都回到家庭网络中,请对MAC进行ARP扫描。 (arp -n在Linux上...在Android ....?https://stackoverflow.com/questions/4179299/scan-network-for-a-specific-mac-address-android也许,是一个开始。) – Jameson

相关问题