2013-04-11 3 views
0

이 연결이 닫히지 않는 이유는 무엇입니까? 초기 연결을 만들면 1 또는 2 개의 후속 요청과 같이 무작위로 전송되거나 {}과 같이 빈 문자열을 보낼 수 있습니다.HttpUrlConnection이 닫히지 않는 이유는 무엇입니까?

그리고 서버가 의도적으로 응답하지 않습니다. 연결은 소켓 만 연결보다 조금 더 열어 상태를 유지하기 때문에 연결이 열릴 때 나타날 수 있습니다 시스템의 어딘가에 살아 여부를 확인하는 경우

 private void playOnLoqooTv (String finalUrl) { 
     HttpURLConnection con = null; 
     try { 

      URL url = new URL(finalUrl); 

      // Log.d("TAG", url); 
      System.out.println(url); 
      // Log.d("yo"); 
      con = (HttpURLConnection) url.openConnection(); 
      readStream(con.getInputStream()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     }finally { 
      if (con != null) { 
       con.disconnect(); 
      } 
     } 
    } 

    private void readStream(InputStream in) { 
     BufferedReader reader = null; 
     try { 
      reader = new BufferedReader(new InputStreamReader(in)); 
      String line = ""; 
      while ((line = reader.readLine()) != null) { 
       System.out.println(line); 
      } 
      reader.close(); 
     }catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 

답변

0

연결 KeepAlive를에 유지됩니다.

+0

이 모든 것은 선택 사항입니다. –

+0

연결하는 것으로 확인되었지만 스크립트를 trigging하지만 연결이 살아 있습니다. 기본적으로 활동을 떠날 때까지 서버에 ping을 겁니다. – sirvon

+1

하지만 독서와 통화를 마치고 있습니다. 그렇다면 하나의 옵션은 연결이 살아 있는지 확인하는 경우 연결이 KeepAlive에 머물러 있다는 것입니다. 시스템에서 소켓은 연결 자체보다 조금 더 오래 열려 있기 때문에 연결이 열렸다고 나타날 수 있습니다. – Mateusz

관련 문제