【问题标题】:Httpsurlconnection doesn't close the socketHttpsurlconnection 不会关闭套接字
【发布时间】:2013-01-21 12:02:32
【问题描述】:

我试图解决这个问题,但我没有得到一个好的解决方案。 我刚刚用 httsurlconnection 打开了一个套接字并关闭了。 但是,我打开的套接字没有关闭,并且套接字状态为 CLOSE_WAIT。 这是我的代码和空气记录。 我的代码有什么问题?

    String https_url = "https://www.google.com";

    URL url = new URL(https_url);

    try {
        con = (HttpsURLConnection) url.openConnection();
        con.setRequestProperty("Connection", "close");
        if(con!=null){
            BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String input = br.readLine();
            while(input.length() != 0)
            {

                input = br.readLine();  
            }
            br.close();
            con.disconnect();               

        }
    }
    catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

【问题讨论】:

    标签: java android


    【解决方案1】:

    您肯定从这段代码中得到了 NullPointerException。在执行任何其他操作之前,您必须测试 readLine() 的结果是否为 null。我看不出测试 HTML 页面中的 empty 行有什么意义。

    【讨论】:

    • 感谢您的建议。 :) 虽然我测试了这段代码,但也没有例外。你是对的。我将添加一些代码来检查空异常。此代码的目的是使用 httpsurlconnection 函数通过 ssl 进行连接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 2011-08-27
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多