如何在我的Android应用程序中访问raspberry.local?

时间:2017-01-13 05:47:24

标签: android dns raspberry-pi2 mdns jmdns

我在我的树莓派上运行Django,我正在使用 avahi-daemon 访问 raspberrypi.local 上的rpi。在我的Django上,我为我的Android应用程序制作了API,以便通过HTTP协议进行访问。例如,我的一个http请求网址是:http://raspberrypi.local/api/getUserNames/

问题是android没有在我的本地wifi网络上访问这个url,我已经确认我的android设备和rpi都连接到同一个wifi网络,但仍然http://raspberrypi.local无法在android上运行。虽然它在我的电脑和电脑上工作正常MAC。

我试图找到解决方案并经历了许多Q& A解释关于bonjour,mDNS,jmDNS,android-multicast。但所有这些都要么太难以实现,要么无法正常工作。请帮助我,我已经坚持了一段时间。

注意:在我的Rpi上,avahi-daemon将自己广播为" _workstation._tcp。"服务类型

-

我的解决方案:

http://www.dodgycoder.net/2015/02/setting-up-bonjourzeroconfmdnsnsd.html

Android NSD(网络服务发现)解决了我的问题。我只使用Discovery Listener和Resolve Listener来解决我的目的。 我专门使用SERVICE_TYPE = "_workstation._tcp.";来搜索带有 avahi-daemon的raspberrypi.local

1 个答案:

答案 0 :(得分:0)

Android NSD(网络服务发现)解决了我的问题。我只使用Discovery Listener和Resolve Listener来解决我的目的。

注意 - 您必须使用 insert into myTable (myColumn) values ('A'), ('B'), ('C') 才能使用avahi-daemon搜索raspberrypi.local

此处是解决方案的链接 - http://www.dodgycoder.net/2015/02/setting-up-bonjourzeroconfmdnsnsd.html