【发布时间】:2017-05-22 16:46:09
【问题描述】:
我使用 Java 与 MySQL 连接,Json 会将数据发送到 android,当我通过 URL 地址将数据从 Java 发送到 json 时:
http://192.168.1.221:9999/rentalcar_service/category/getAllManufacturer
一切都很好,但是当我在 Android 中解析数据时,我收到如下错误结果:
private static final String URL_MANUFACTURERS = "http://192.168.1.221:9999/rentalcar_service/category/getAllManufacturer";
Logcat:
W/System.err: Caused by: android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
W/System.err: at libcore.io.IoBridge.isConnected(IoBridge.java:223)
W/System.err: ... 25 more
I/MemoryCache: cache size=0 length=4
W/System.err: java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 9999) after 30000ms: isConnected failed: ECONNREFUSED (Connection refused)
W/System.err: at libcore.io.IoBridge.isConnected(IoBridge.java:234)
W/System.err: at libcore.io.IoBridge.connectErrno(IoBridge.java:171)
W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:122)
(192.168.1.221) IP 地址是我的电脑,如果我从 192.168.1.221 更改为 localhost,我仍然会收到同样的错误。
如何解决这个问题?非常感谢!
【问题讨论】:
-
连接被拒绝意味着服务器不会接受你的连接。问题出在您的网络设置或服务器上。很可能它是您 wifi 路由器中的防火墙。
-
是的,我得到了你的解释,但目前我只是在本地机器上测试
-
所以你的意思是你的模拟器和服务器在同一台机器上?在这种情况下,请记住模拟器不是 localhost,您必须使用 PC 的 ip 地址。无论如何都要仔细检查防火墙,因为你不是本地主机,它会通过网络。
-
没错!它不能是本地主机地址,我通过我的 IP 和它的工作进行了更改