Pregunta

Estamos obteniendo algunos resultados inesperados al azar de algunos servidores al intentar abrir un InputStream desde una conexión HttpURLConnection. Parece que esos servidores aceptarían la conexión y responderían con un "mantenerse vivo". encabezado que mantendrá abierto el Socket pero no permite que los datos se envíen de vuelta a la transmisión.

Ese escenario hace que un intento de un rastreador de subprocesos múltiples sea un poco 'complicado', porque si alguna conexión se atasca, el subproceso en ejecución nunca volverá ... negando la finalización de su grupo que deriva en el pensamiento del controlador que algunos hilos siguen funcionando.

¿Hay alguna forma de leer el encabezado de la respuesta de conexión para identificar que "mantenerse vivo"? responder y evitar intentar abrir la transmisión ??

¿Fue útil?

Solución

No estoy seguro de lo que me falta aquí, pero me parece que simplemente necesita getHeaderField () ?

Otros consejos

¿Intentó configurar " tiempo de espera de lectura " ;, además de " tiempo de espera de conexión " ;?

Ver http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLConnection.html#setReadTimeout%28int%29

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top