Android 单异步HttpClient实例ConnectTimeoutException

Android 单异步HttpClient实例ConnectTimeoutException,android,android-async-http,loopj,Android,Android Async Http,Loopj,我在我的项目中使用AsyncHttpClient静态单实例,我的代码如下步骤: HttpUrlConnectionHTTP请求 在第一次请求成功回调中,使用AsyncHttpClient请求另一个url 获取ConnectTimeoutException,如下所示: 06-28 18:35:36.440 18638-19939/com.zebra.carcloud.example W/System.err:cz.msebera.android.httpclient.conn.ConnectTim

我在我的项目中使用AsyncHttpClient静态单实例,我的代码如下步骤:

  • HttpUrlConnectionHTTP请求
  • 在第一次请求成功回调中,使用AsyncHttpClient请求另一个url
  • 获取ConnectTimeoutException,如下所示:
  • 06-28 18:35:36.440 18638-19939/com.zebra.carcloud.example W/System.err:cz.msebera.android.httpclient.conn.ConnectTimeoutException:连接到daily.yuncar.zebred.com/139.196.2.83:7090超时 06-28 18:35:36.441 18638-19939/com.zebra.carcloud.example W/System.err:at cz.msebera.android.httpclient.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119) 06-28 18:35:36.441 18638-19939/com.zebra.carcloud.example W/System.err:at cz.msebera.android.httpclient.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:157) 06-28 18:35:36.441 18638-19939/com.zebra.carcloud.example W/System.err:at cz.msebera.android.httpclient.conn.scheme.schemesocketfactoryadapter.connectSocket(schemesocketfactoryadapter.java:65) 06-28 18:35:36.441 18638-19939/com.zebra.carcloud.example W/System.err:at cz.msebera.android.httpclient.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177) 06-28 18:35:36.441 18638-19939/com.zebra.carcloud.example W/System.err:atcz.msebera.android.httpclient.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:145) 06-28 18:35:36.442 18638-19939/com.zebra.carcloud.example W/System.err:atcz.msebera.android.httpclient.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131) 06-28 18:35:36.442 18638-19939/com.zebra.carcloud.example W/System.err:at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611) 06-28 18:35:36.442 18638-19939/com.zebra.carcloud.example W/System.err:at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446) 06-28 18:35:36.442 18638-19939/com.zebra.carcloud.example W/System.err:at cz.msebera.android.httpclient.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:860) 06-28 18:35:36.442 18638-19939/com.zebra.carcloud.example W/System.err:at cz.msebera.android.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) 06-28 18:35:36.442 18638-19939/com.zebra.carcloud.example W/System.err:at com.loopj.android.http.asynchtprequest.makeRequest(asynchtprequest.java:146) 06-28 18:35:36.443 18638-19939/com.zebra.carcloud.example W/System.err:at com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries(AsyncHttpRequest.java:177) 06-28 18:35:36.443 18638-19939/com.zebra.carcloud.example W/System.err:at com.loopj.android.http.asynchtprequest.run(asynchtprequest.java:106) 06-28 18:35:36.443 18638-19939/com.zebra.carcloud.example W/System.err:at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) 06-28 18:35:36.443 18638-19939/com.zebra.carcloud.example W/System.err:at java.util.concurrent.FutureTask.run(FutureTask.java:237) 06-28 18:35:36.443 18638-19939/com.zebra.carcloud.example W/System.err:at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 06-28 18:35:36.443 18638-19939/com.zebra.carcloud.example W/System.err:at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 06-28 18:35:36.444 18638-19939/com.zebra.carcloud.example W/System.err:at java.lang.Thread.run(Thread.java:818)

    我在谷歌上搜索了一段时间,但找不到原因,有人问了我同样的问题:,但我将AsyncHttpClient超时设置为30000(默认值10000),30秒后仍然得到ConnectTimeoutException


    在第二次请求之前,将单个实例修改为新的AsyncHttpClient实例,一切都会正常。我不知道HttpURLConnection操作是否会影响AsyncHttpClient。

    您正在使用的库使用Apache HttpClient库,Android不再支持该库。Android建议使用
    java.net
    包中的类,但正如@apelsoczi所建议的,使用另一个库可能会更容易,例如。我曾面临类似的问题,但后来发现我有网络问题,导致连接超时。我在我的android应用程序中使用了相同的库,它得到了很好的支持。确保您没有任何网络问题,并且服务器ULR正确。您使用的库使用Apache HttpClient库,Android不再支持该库。Android建议使用
    java.net
    包中的类,但正如@apelsoczi所建议的,使用另一个库可能会更容易,例如。我曾面临类似的问题,但后来发现我有网络问题,导致连接超时。我在我的android应用程序中使用了相同的库,它得到了很好的支持。确保没有任何网络问题,并且服务器ULR正确。