Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建持久的https连接_Java_Http_Url_Https - Fatal编程技术网

Java 如何创建持久的https连接

Java 如何创建持久的https连接,java,http,url,https,Java,Http,Url,Https,我对爪哇和它所有的荣耀都很陌生 使用HttpsUrlConnection,我可以毫无问题地完成大多数剩余操作。 但是,如何创建持久的Https连接?我需要这个连接来接收来自服务器的异步消息。是否有一个只使用java.net包的简单java解决方案?我不是在寻找优雅的解决方案,只是一些简单和有效的方法 这是我到目前为止所拥有的,似乎无法从服务器接收到任何信息。我得到了一个200的状态作为回应,但之后什么都没有了。我确实验证了服务器实际上正在发送异步消息。我可以使用不同的工具接收它们。(将pytho

我对爪哇和它所有的荣耀都很陌生

使用HttpsUrlConnection,我可以毫无问题地完成大多数剩余操作。 但是,如何创建持久的Https连接?我需要这个连接来接收来自服务器的异步消息。是否有一个只使用java.net包的简单java解决方案?我不是在寻找优雅的解决方案,只是一些简单和有效的方法

这是我到目前为止所拥有的,似乎无法从服务器接收到任何信息。我得到了一个200的状态作为回应,但之后什么都没有了。我确实验证了服务器实际上正在发送异步消息。我可以使用不同的工具接收它们。(将python请求与流一起使用)

在此代码之前,我已成功登录并获得所有必需的Cookie和authToken。Cookie管理器已启用。additionalAuthToken(conn)负责添加所需的授权内容。这在其他REST调用中被证明是有效的,所以我不怀疑授权是个问题。同样,如果授权是个问题,服务器将不会返回200

    URL obj = new URL(url);
    HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection();
    conn.setRequestProperty("Connection", "keep-alive"); 
    conn.setRequestMethod("GET"); 
    additionalAuthToken(conn);


    conn.setDoOutput(true);
    conn.setDoInput(true);

    if (conn.getResponseCode() != 200) {
        throw new RuntimeException("Failed : HTTP error code : "
                + conn.getResponseCode());
    }

    System.out.println(url);
    System.out.println(conn.getResponseMessage());

    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    while( true ) {

        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            System.out.println(inputLine);
        }
        Thread.sleep(100);
        System.out.println("Go around");
    }
这可能吗?如果没有,您对实现持久https通道的建议是什么?我从谷歌搜索结果中听说了netty和其他一些人。现在,我真的希望有一个简单的java.net解决方案,而没有其他依赖项

真诚地,
Tai

就URLConnection而言,以下是有关如何使其持久化的所有信息:


如果可以的话,我建议您使用以下示例:特别是显示了持久连接的基础知识

以防其他人正在寻找答案,请跟随。它确实有效。事实上,这确实有效。问题是我在一个单独的函数中接收代码,该函数关闭流并返回。在键入问题时,我将代码移到这里,而不会关闭BufferReader。现在,我得到了稳定的异步消息。因此,这个故事的寓意是不要关闭小溪。这段代码确实有效。