문제

Java는 언제 URL과 연결을 놓아 주나요? URL 또는 URLConnection에 Close () 메소드가 표시되지 않으므로 요청이 완료 되 자마자 연결이 제거됩니까? 나는 주로 예외 핸들러에서 정리 해야하는지 확인하기 위해 묻습니다.

try {
  URL url = new URL("http://foo.bar");
  URLConnection conn = url.openConnection();
  // use the connection
}
catch (Exception e) {
  // any clean up here?
}
도움이 되었습니까?

해결책

프로토콜에 지정된 특정 프로토콜에 따라 다릅니다. 일부는 지속적인 연결을 유지하며, 다른 하나는 연결에 의해 주어진 입력 또는 출력 스트림에서 호출이 가까이있을 때 연결을 닫습니다. 그러나 UrlConnection에서 열린 스트림을 닫는 것을 기억하는 것 외에도 할 수있는 다른 일은 없습니다.

java.net.urlconnection의 javadoc에서

특정 프로토콜 사양이 다른 동작을 지정하지 않는 한, 요청 후 URLConnection의 입력 스트림 또는 outputStream에서 Close () 메소드를 호출하면이 인스턴스와 관련된 네트워크 리소스가 무료 일 수 있습니다.

다른 팁

httpurlconnection에 캐스트되면 연결 해제 () 방법. 연결이 유휴 상태 인 경우 즉시 연결이 끊어 질 수 있습니다. 보증이 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top