Android: ¿Cómo puedo configurar un tiempo de espera para sockets SSL para un bloqueo de lectura / escritura usando el ThreadSafeClientConnectionManager?

¿Cómo puedo establecer un tiempo de espera para los sockets SSL para un bloqueo de lectura / escritura utilizando el ThreadSafeClientConnectionManaget? He descubierto que la pérdida de conectividad de red durante la lectura o escritura de un socket SSL resulta en un tiempo de espera de 15 minutos en dispositivos Android 2.2 y 2.3.

He fijado los tiempos de espera siguientes en mi HttpClient:

mParams = new BasicHttpParams(); HttpProtocolParams.setVersion(mParams, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(mParams, "UTF-8"); HttpProtocolParams.setUserAgent(mParams, USER_AGENT); HttpConnectionParams.setConnectionTimeout(mParams, TIME_OUT); HttpConnectionParams.setSoTimeout(mParams, TIME_OUT); ConnManagerParams.setTimeout(mParams, TIME_OUT); final SchemeRegistry registry = new SchemeRegistry(); registry.register(new Scheme(HTTP_SCHEME, PlainSocketFactory.getSocketFactory(), 80)); registry.register(new Scheme(HTTPS_SCHEME, SSLSocketFactory.getSocketFactory(), 443)); final ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(mParams, registry); mClient = new DefaultHttpClient(manager, mParams); 

A continuación, utilizar el cliente para realizar una solicitud http poner con una entidad de archivo. Si apago el modo de avión en la mitad de la carga, espere 15-30 segundos y luego apague el modo de avión, el zócalo quedará atascado en una lectura o escritura y no durará 15 minutos.

No pivotar lejos de su pregunta muy legítima, pero los clientes del HTTP del blog de los clientes de HTTP recomiendan usar HttpURLConnection para el nuevo desarrollo. ¿Ha considerado cambiar APIs?

  • Configuración de un ancho de TextView en java
  • Establecer el interpolador para las animaciones de Android en Java
  • Deserializar JSON a Java enum
  • Autenticación desde el dispositivo Android contra Spring Security Rest API
  • Invocación de funciones JNI en el nombre del paquete de Android que contiene subrayado
  • Compatible con versiones anteriores de Android / Java Code
  • OnDraw eficiente con mapas de bits y aceleración por hardware
  • No puedo pasar demasiado grande arraylist de objetos entre 2 actividades?
  • Actualización de iconos de pestaña de Android
  • NPE: CursorTreeAdapter $ MyCursorHelper.changeCursor (Cursor, boolean) 'en una referencia de objeto nulo
  • Diferentes respuestas entre el sitio de Google y la API de Google
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.