HttpUrlConnection似乎没有释放与服务器的连接

时间:2015-10-28 05:39:00

标签: android httpurlconnection

我正在使用HttpUrlConnection进行网络调用。我使用urlconnection.disconnect()inputstream.close()来关闭连接

    try {
    HttpURLConnection uc = (HttpURLConnection) getUrlConnection(new URL(mUrl));
                uc.setRequestProperty("Content-Type", "application/json");
                uc.setDoOutput(true);
                uc.setChunkedStreamingMode(0);
                OutputStream out = new BufferedOutputStream(uc.getOutputStream());
    InputStream in = new BufferedInputStream(uc.getInputStream());
    in.close();
    } catch (...) {
    ........
    } finally {
        if(uc != null)
            uc.disconnect();
    }

在服务器上运行netstat命令后。但我仍然看到一个处于打开状态的tcp连接。 是否有任何关闭HttpUrlConnection

2 个答案:

答案 0 :(得分:1)

disconnect()方法声明:

  

释放此连接,以便其资源可以重复使用或   闭合。

     

与其他Java实现不同,这不一定会关闭   可以重用的套接字连接。您可以禁用所有连接   通过在之前将http.keepAlive系统属性设置为false来重用   发出任何HTTP请求。

答案 1 :(得分:0)

似乎android总是使用不同的端口来打开每个新连接。并将它们缓存一段时间。 参考this link