【问题标题】:Frequent HttphostConnectException频繁的 HttphostConnectException
【发布时间】:2014-09-17 07:28:54
【问题描述】:

我最近将我的应用上传到了 Google Playstore。我使用Error Reporter 来跟踪崩溃。应用程序运行良好,但我经常收到HttpHostConnectException。在进行每次网络通话之前,我都会检查 Internet 连接。导致此异常的原因还有其他原因吗?如何避免?

附:在测试/调试我的应用程序时,我从未遇到此异常。

【问题讨论】:

    标签: android httphostconnectexception


    【解决方案1】:

    HttpHostConnectException 在无法与特定端口上的远程主机建立连接时抛出。

    在进行每次网络通话之前,我都会检查互联网连接。

    检查互联网连接并不是确定主机是否可访问的完全可靠方法。在许多情况下,例如使用 wifi,设备连接到您的路由器,而路由器未连接到互联网。在这种情况下,使用 ConnectivityManager 等类检查 Internet 连接返回 true,但实际连接为 false。

    解决方案是检查您的主机是否可以使用任何 http 方法实际访问。

    public boolean isInternetAvailable() {
        try {
            InetAddress ipAddr = InetAddress.getByName("google.com"); //You can replace it with your name
    
            if (ipAddr.equals("")) {
                return false;
            } else {
                return true;
            }
    
        } catch (Exception e) {
            return false;
        }
    
    }
    

    以上代码取自SO post

    【讨论】:

    • 我已经使用了上面的代码。检查那个帖子,这段代码是我写的。我在任何地方都使用相同的代码来检查互联网连接。
    • @SeshuVinay 哈哈,我不知道。您能否分享调用请求的示例 httprequest 代码。
    • 到处都是正常的httppost。问题可能是“检查 Internet 连接后 Internet 连接丢失”。
    【解决方案2】:

    我使用AsyncHttpClient 处理我所有的网络电话。它完美地处理了我的情况。在获取 HttphostConnectException 时直接调用 onFailure()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-20
      • 2011-03-19
      • 2018-11-06
      • 2015-03-14
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多