【问题标题】:Android.system.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)Android.system.ErrnoException:isConnected 失败:ECONNREFUSED(连接被拒绝)
【发布时间】: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 和它的工作进行了更改

标签: android json ip


【解决方案1】:

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

【讨论】:

  • 非常感谢!我通过我的 IP PC 更改 localhost 并更新了 db 中的 URL 并且它的工作!感谢您的链接
  • 远程主机重启后会怎样?这不会导致 ECONNREFUSED
【解决方案2】:

如果您尝试访问模拟本地服务器(即 localhost),它将无法正常工作,因为 android 在单独的环境(设备或模拟器)上运行,即它的 localhost 与您的开发机器不同。 . 你必须在网上某处发布你的服务器。

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      • 2019-08-22
      相关资源
      最近更新 更多