【问题标题】:Can we Communicate twice from HttpURLConnection request in java?我们可以从 java 中的 HttpURLConnection 请求进行两次通信吗?
【发布时间】:2015-07-08 19:43:16
【问题描述】:

我有客户端/服务器架构,我面临的问题是这样的。这里Client 是java 程序,使用HttpURLConnection 连接,服务器是一个Servlet。一旦客户端发出请求,Servlet 通过 Stream 发送文件。客户端将从 Stream 下载它。这个过程运行良好。问题是假设如果文件没有在客户端成功下载,客户端必须向服务器发送消息,以便它再次发送文件(我希望在不建立新连接的情况下发生这种情况)。如何在单个请求中实现这一点。任何人都可以帮助我。

【问题讨论】:

    标签: java servlets httpurlconnection


    【解决方案1】:

    你为什么不写一个无限的while循环,它会一直连接到服务器,直到你得到肯定的响应。我的意思是

    // create your connection instance
    while(true){
    
    try{
    // connect to server and get the file
    break;
    } catch (Exception ){ // do something}
    }
    

    【讨论】:

    • 是的,我的应用程序每 10 秒持续连接到服务器。
    • 谢谢你,是时候在这里注销了。我可以联系你吗?
    【解决方案2】:

    为了知道客户端有问题,您必须发送一个新请求。你只是不能做你想做的事。

    【讨论】:

      【解决方案3】:

      您的问题与此类似:How to Reuse HttpUrlConnection?

      作为回报已经得到了回答: Persistent HttpURLConnection in Java

      您的问题的答案保持不变:您设置了http.keepAlivehttp.maxConnections 属性,并让Java 透明地处理HTTP 持久性。

      现在,我有理由相信这两个答案都对您没有帮助,因为您通常对文件下载感兴趣的不是重新开始整个下载,而是继续之前的下载。

      这个问题也已经回答了:Java: resume Download in URLConnection

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2018-06-30
        • 1970-01-01
        • 2016-04-11
        • 1970-01-01
        • 2017-09-07
        • 1970-01-01
        • 2011-06-23
        • 2021-01-10
        • 2012-04-06
        相关资源
        最近更新 更多