no desconectar HttpUrlConnection implica una falta de recursos o un re

no desconectar HttpUrlConnection implica una falta de recursos o un retraso en la red

Al tratar con HttpUrlConnection en JAVA, ¿estamos obligados (o se recomienda) a desconectar cada conexión que creamos? y si no cerramos conexiones, ¿implica esto una saturación de la red?

Gracias de antemano,

Mostrar la mejor respuesta

Se trata más de pérdida de memoria y desperdicio de recursos. Por lo tanto, sí, se recomienda encarecidamente cerrar explícitamente su conexión una vez utilizada, p. en una cláusula final.

Editar: según a esta entrada de blog, el uso de disconnect() no es necesario porque el conjunto de conexiones TCP cerrará automáticamente la conexión después de un tiempo de inactividad. Si desconecta el HttpUrlConnection, el socket TCP subyacente se cerrará y se evitará la reutilización de este socket. Por lo tanto, si va a enviar varias solicitudes al otro host, sería mejor no llamar a disconnect().

Gracias, y quiero saber si desconectar un HttpUrlConnection implica que se envíe una solicitud al mismo host.

Sí, el enchufe se apaga, lo que se indica en el otro extremo.

Entonces, si la conexión a Internet es lenta o el servidor tiene algunos problemas, ¿el método .disconnect() tardará algún tiempo en ejecutarse? !

Esto es difícil de decir. Puede depender o no del protocolo de comunicación utilizado (HTTP/HTTPS), el protocolo de transporte (TCP/UDP) y la implementación de HttpUrlConnection. Para obtener una descripción general de los escenarios de cierre de conexión, consulte HTTP: The guía definitiva sobre apagados Si puedo implorar, ¿por qué usa esta clase antigua? Yo recomendaría mucho más ApacheHttpClient.

Tenga en cuenta mi edición de mi respuesta que fue incorrecta. No es necesario desconectar HttpUrlConnection.