android httpclient loopj

android - Obtener SocketTimeoutExceptions utilizando loopj AsyncHttpClient... ¿hay un valor de tiempo de espera que pueda establecer?



(1)

Descubrí que el AsyncHttpClient realidad es un tiempo de espera de 10 segundos. Si su solicitud lleva más tiempo, verá la excepción SocketTimeoutException.

Ajustar esto es realmente simple. Solo haz lo siguiente:

final int DEFAULT_TIMEOUT = 20 * 1000; AsyncHttpClient aClient = new AsyncHttpClient(); aClient.setTimeout(DEFAULT_TIMEOUT); //... continue as normal

Edit : (gracias, Horkavlna!)

Puede ver los detalles del método en javadoc - http://loopj.com/android-async-http/doc/com/loopj/android/http/AsyncHttpClient.html#setTimeout(int)

Al usar la biblioteca loopj AsyncHttpClient , sigo obteniendo java.net.SocketTimeoutExceptions al realizar solicitudes (ver más abajo).

¿Hay algún valor de tiempo de espera que pueda establecer?

Nota : estoy publicando esto para proporcionar ayuda a otras personas. Yo (estúpidamente) luché para encontrar la solución por algún tiempo.

Rastreo de pila:

java.net.SocketTimeoutException at java.net.PlainSocketImpl.read(PlainSocketImpl.java:491) at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46) at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240) at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103) at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191) at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174) at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:180) at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235) at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:428) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) at com.loopj.android.http.AsyncHttpRequest.makeRequest(AsyncHttpRequest.java:76) at com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries(AsyncHttpRequest.java:95) at com.loopj.android.http.AsyncHttpRequest.run(AsyncHttpRequest.java:57) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390) at java.util.concurrent.FutureTask.run(FutureTask.java:234) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) at java.lang.Thread.run(Thread.java:856)