【问题标题】:Streaming response back to client from a ServerResource从 ServerResource 将响应流式传输回客户端
【发布时间】:2012-03-05 21:32:11
【问题描述】:

我正在将内容流式传输到我的休息端点,并且我已将其实现为 ServerResource。使用传入的流不是问题,但在处理输入时,我确实想开始将信息反馈给客户端。但是,我认为这不能从 ServerResource 完成,因为它需要我实际返回一个 Representation(随后我会中止从输入流中读取)。

在这种情况下推荐的方法是什么?使用原始 Restlet 并在处理方法中处理它?人们一般是如何解决这个问题的?

显然,它可以使用“原始”HttpServlet 轻松完成,但我希望能够全面使用 restlet。

【问题讨论】:

    标签: java encoding stream restlet chunked


    【解决方案1】:

    虽然不是最干净的选项,但您可以让客户端打开第二个连接到请求内容的服务器。服务器必须保持连接打开,直到它有数据开始发回,但你最终会得到相同的结果。这是一种解决问题的“长轮询”方法,并且在架构上只是将写入与读取分开。

    可能有更好的方法来实现这一点,但我倾向于一开始采用快速解决方案,然后在需要时再使用它(即,如果它在某些方面存在问题,例如可维护性或性能)

    【讨论】:

    • 感谢您的回复,但这只有在我控制客户端时才有效,但不幸的是我没有这样做。直接使用 HttpServlet 工作正常,所以现在我坚持使用该选项,但我希望将一切都交给适当的 Restlet 方法。
    猜你喜欢
    • 2023-03-02
    • 1970-01-01
    • 2020-01-31
    • 2015-11-29
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    相关资源
    最近更新 更多