2013-04-11 569 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

连接停留在保持活动,如果你正在检查连接是否在系统的某个地方活着它可能会出现连接被打开,因为插座撑单独开设超过连接长一点。

+0

所有这些都是可选的 – 2013-04-11 12:25:54

+0

它证实它正在连接,但我所做的只是触发脚本,但连接仍然存在。基本上ping服务器,直到我离开活动 – sirvon 2013-04-11 12:35:38

+1

但它正在完成阅读和调用关闭?如果是,那么一个选项是,如果您正在检查连接是否存活,那么该连接将保持在KeepAlive上。在系统中可能会显示连接已打开,因为套接字保持打开时间比单独连接时间长一点。 – Mateusz 2013-04-11 12:54:35