我使用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,我仍会收到同样的错误。
如何解决这个问题?非常感谢!
答案 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。