我有问题通过在设备上运行的android应用程序连接到服务器。我可以设法在模拟器上连接服务器,但在设备上它会给出http连接拒绝错误。
07-08 09:53:27.125: W/System.err(8958): org.apache.http.conn.HttpHostConnectException: Connection to http://xx.xx.xx.xxx:8080 refused
我在不同的笔记本电脑上设置服务器,服务器无线连接到大学网络,我试图通过位于同一网络上的设备上的应用程序连接到服务器。
我不明白的是,在另一台计算机上连接仿真器上的服务器没有问题,当我在实际设备上测试时,它会导致连接失败。
我已经搜索了这个问题,但它们通常与ip地址问题有关,例如localhost,127.0.0.1或10.0.0.2。对我来说,它似乎不是同一个问题。
请帮帮我!
提前致谢
答案 0 :(得分:3)
外部世界可以访问该IP地址吗?
猜猜: 我认为您使用的IP地址可能已被保留。它在模拟器中工作,因为你仍然在网络中(可能在你的办公室)。当你使用真实设备来到网络之外时,它无法正常工作。
答案 1 :(得分:3)
由于您是在虚拟机模拟器中运行应用程序,localhost
和127.0.0.1
指向模拟器本身。
要访问设备的网络接口,您需要改为使用IP地址10.0.2.2
。
答案 2 :(得分:1)
我遇到了同样的问题,我的答案是阻止来自外部的所有请求的防火墙,你可以通过临时关闭防火墙来解决这个问题。 其他可能的原因导致连接被拒绝: - 您的手机连接到不同的wifi(可能您忘记更改网络) - 清洁/重建项目(不是你的情况) - 清单的Internet许可(不是您的情况) - 错误的url请求(localhost或127.0.0.1而不是真机ip,例如:192.168.0.101)
答案 3 :(得分:0)
如果其他人的计算机可以打开,则您的IP将被禁止访问该页面。只有你的IP无法打开,因为该页面会阻止你的IP