Android.system.ErrnoException:isConnected失败:ECONNREFUSED(拒绝连接)

时间:2017-01-08 08:21:27

标签: android json ip

我使用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,我仍会收到同样的错误。

如何解决这个问题?非常感谢!

3 个答案:

答案 0 :(得分:4)

ECONNREFUSED表示尝试连接且远程主机端口未侦听。 因此,这可能是由于:

引起的

它是有效的IP吗?使用ifconfig或ipconfig检查。 你可以尝试ping服务器。

可以从这里了解有关错误的详细信息: https://android.googlesource.com/platform/libcore/+/jb-mr2-release/luni/src/main/java/libcore/io/ErrnoException.java https://developer.android.com/reference/android/system/ErrnoException.html

答案 1 :(得分:0)

在我的情况下:我改为另一个wifi连接,并解决了它。因为在我的浏览器上链接正在打开。

答案 2 :(得分:0)

如果您尝试访问模拟本地服务器(即localhost),则它将无法正常工作,因为android在独立的环境(设备或仿真器)上运行,即其本地主机与开发计算机不同。 。您必须在线发布服务器。

如果您只想在REST API中使用JSON,则可以使用My-Json-Server