我为Android应用程序实现了Web服务。 Web服务正在我的本地主机(192.168.1.2)上运行。使用Android模拟器,我成功连接到Web服务。我试图使用调试模式将我的Android设备连接到Web服务,但它不起作用。所以我的问题是,如果可以在不使用真实IP的情况下将Android设备连接到在本地主机(192.168.1.2)上运行的此Web服务?将Android设备连接到本地主机上的Web服务
回答
那么你的本地主机是127.0.0.1(或:: 1),你的局域网IP是192.168.1.2。在您的局域网中连接的每台电脑/设备都可以通过IP连接到您的网络服务192.168.1.2
您的Android设备必须在同一局域网内连接,可能通过Wifi连接,因此它可以与192.168.1.2进行通话。
如果你不能在同一个局域网下连接你的Android设备,例如你只有一个3g的连接,你需要使用你的路由器/防火墙来重定向所有来自公共ip的流量(也许只是http流量)你私有IP(192.168.1.2)
希望这有助于
这有助于...... thnks ... – Shachi 2013-05-01 07:04:31
你已经解决问题了吗?我也遇到了像你这样的问题。这些是我已经完成的步骤:
- 拔掉网线或从电脑上关闭任何其他网络连接。
- 使用USB将您的android手机连接到您的电脑。
- 打开usb tethering
- 回到您的电脑。检查你的IP。我的是192.168.42.37
- 检查你的电脑上的web服务应用程序。让我们说http://192.168.42.37/webserviceapp
- 回到你的Android手机。试试这个网址http://192.168.42.37/webserviceapp
现在你可以从你的手机访问你的电脑上的web服务应用程序。
加1为“打开USB tethering” – Mzn 2013-03-13 21:05:29
@Zulkifli确实遵循这个步骤,但力量工作,虽然... [这是我的问题](http://stackoverflow.com/questions/21879151/calling-web-service-from-android-device)我找到答案...请帮助 – 2014-02-19 12:19:18
对于OS X用户来说,一个很好的USB共享方式在这里描述:[HoRNDIS](http://joshuawise.com/horndis) – averasko 2014-03-03 16:51:17
如果你不想在互联网上公开你的DEV web服务,我同意其他答案作为好方法。但是,如果您只是公开Web服务,则更容易。有很多免费的DNS服务,但我发现没有IP是最容易设置的。我用它来达到你所问的目的;所以我可以在真实设备上使用我的DEV web服务进行测试。
如果您选择使用no-ip(我与该公司没有任何关系,这只是我用过并熟悉的那个),您可以免费获得一个可公开访问的URL,如http://MyExampleWebServer.no-ip-org, ip有一个你可以安装的实用程序,即使你在一个动态IP的后面,它也会始终保持与该URL关联的正确的外部IP。如果你在家里工作,那么你只需要确保你将端口80的流量转发到你的内部192.x.x.x IP地址(或者你使用的任何端口;对于ssl可能是443)。
就这么简单,现在您可以从任何可以访问互联网的设备中访问该web服务。
我还没有使用它,但我相信dyndns也提供了类似的服务。
我已经在使用GasMask和Charles Proxy Server的Mac上完成了这项工作。你的手机和你的电脑必须在同一个网络上。
表示您想要访问的网络服务网址为http://api.xyz.com,您首先使用GasMask将该网址指向您的本地主机,然后使用Charles设置代理服务器。然后,您转到手机上的设置,进入Wi-Fi,长按所连接的网络,选择修改网络,然后输入Charles给您的代理设置。
我会抛出我的过程,因为没有任何关于SO的工作。下面是我对我的物理Android设备连接到Web服务在本地主机上我的笔记本电脑(连接到电话)运行步骤:
Enable USB debugging在Android设备上
运行您Web服务在您的机器上。在本地主机上我的Web服务运行,3000端口在发展:
http://localhost:3000/api/...
运行
ifconfig
(UNIX),或ipconfig
(Windows)中- 您LAN界面上找到你的机器的
inet
地址。 Mine是10.0.0.121,用于接口wlan0
。外部,它是68.43.XX.XXX,它是您要使用的地址而不是。 - 使用LAN IP,因为要连接到您的网络服务,否则你可能会得到一个
econnrefused
(拒绝连接)错误是由于防火墙规则 - 与IP地址建立你的HTTP URL,以及端口您的Web服务正在运行。对我来说,这是
http://10.0.0.121:3000/api/...
当您启动您的应用程序,你应该在日志本地Web服务,Wireshark的,等的连接,你应该看到在你的Android应用程序所需的活性/数据。
我有同样的问题,研究了很多,然后发现你必须明确地进行防火墙设置的更改。您的防火墙阻止您的代码从外部来源访问。所以,你需要做的就是进入防火墙设置,为入站和出站添加端口80(在我的情况下,因为我使用Apache http Server)。现在,您可以在手机的浏览器上测试它http://192.16。 **:80/
如果您在您的系统上从Android模拟器,那么你必须使用 http://10.0.2.2:8080/ 由于Android模拟器,虚拟机内运行(QEMU)指本地主机,因此在这里127.0.0.1或本地主机将是仿真器自己的回送地址。
该解决方案是在Eclipse
GAE开发服务器第1步:获取局域网IP
转到您的Windows命令控制台(按下Win + R,然后输入 “cmd”)。在控制台中输入“ipconfig”。你会看到一个显示列表。在无线局域网适配器Wi-Fi下,获取IPv4地址。这将是东西192.168.x.x
LAN IP:192.168.x.X
第2步:
,请转到Eclipse,打开配置的服务器
GAE开发服务器在属性 - >绑定到本地接口地址,输入局域网IP地址,并保存。
3步:
现在,您可以通过
8888访问GAE服务器 - 指端口号,如在GAE开发服务器
为了用自己的服务器主机,而不是IP地址与端口访问本地网络服务,做这些以下步骤使用此服务地址:
- 确保你的Android设备和你的本地机器在同一个网络上。
- 在您的Mac,Linux或任何其他代理服务器上安装SquidMan。
- 将代理服务器的HTTPPort(例如5555)和客户端(例如192.168.0.0/24)配置到您自己的网络掩码中,然后运行代理服务器。
您在以下位置使用的Web服务:
a。网页浏览器:从修改WiFi网络配置Android设备的代理设置。
b。 Android应用程序: 为您的HTTP客户端设置代理。如果您使用的是Volley,请查看:Volley Behind a Proxy server。
- 您可以通过使用任何网址,你正在使用你的主机上连接到Web服务现在连接到它(前http://my-local-machine.com)
提示:如果你有4xx应答码,确保您的网络服务允许来自其他非本地主机的连接。
在我的情况下,这些解决方案都不起作用,因为Windows防火墙会阻止它,但是在防火墙上放置规则并没有影响。
在我的情况下,问题是我的笔记本电脑与Wifi连接,Windows有Wifi连接,如公共网络。我必须将网络连接更改为专用网络。 http://www.comofuncionatodo.net/tecnologia/informatica/como-cambiar-de-red-publica-a-red-privada-en-windows-10/
- 1. Android:连接到本地主机上的服务器时连接超时设备
- 2. libcurl&android连接到本地主机上的web服务
- 3. 与本地主机服务器的Android设备连接
- 4. 从Web服务连接本地主机
- 5. 连接到本地主机web服务的Android模拟器[C#]
- 6. 连接到本地主机:3000在Android设备上拒绝
- 7. 无法从Android设备访问本地主机web服务
- 8. 将android设备连接到本地服务器xampp
- 9. Android设备将无法连接到本地服务器
- 10. 无法连接到Visual Studio的本地主机Web服务器
- 11. 无法连接到Visual Studio的本地主机Web服务器
- 12. 通过使用Web服务在本地连接android设备
- 13. Android SDK连接到主机上的Web服务器
- 14. 访问本地主机服务器连接的Android移动设备
- 15. Android设备无法连接到本地主机
- 16. Android设备无法连接到本地主机
- 17. 无法连接到本地主机上的SQL服务器
- 18. Windows服务无法连接到本地主机上的SQL Server
- 19. 节点连接到本地主机上的Xmpp服务器
- 20. 将Android直接连接到本地主机上的sql server而不使用web服务
- 21. android studio无法连接到本地主机WCF服务
- 22. 未将设备或资源(本地主机)设置为接受端口“万维网服务(HTTP)”上的连接“
- 23. 连接通过Android设备的本地主机
- 24. 通过wifi将ios设备连接到本地服务器
- 25. 机器人连接到本地主机从Connectify的我consure Web服务
- 26. 动态Web服务项目 - 只能连接在本地主机
- 27. 从网络外的设备连接到本地主机
- 28. 连接Android手机本地服务器
- 29. 将套接字连接到设备上的本地地址
- 30. 无法连接到本地主机上Windows机器上的Couchbase服务器8091
+1。 – Shachi 2013-05-01 06:18:48
https://developers.google.com/web/tools/chrome-devtools/remote-debugging/local-server – Mateusz 2017-02-20 11:04:52