【问题标题】:Java: Receive a multipart HTTP responseJava:接收多部分 HTTP 响应
【发布时间】:2009-01-07 10:37:12
【问题描述】:

我正在编写一个 Java 客户端应用程序来接收来自 IP 摄像机的实时 M-JPEG 视频。摄像头将视频作为无限的多部分 HTTP 消息发送,其中每个部分都是一个 JPEG 帧。我需要在这些帧到达时对其进行处理,因此我希望有一种方法可以发出 HTTP 请求,在接收到每个消息部分/视频帧时异步触发事件。

有没有人知道任何可以做到这一点的库?我在 Google 上找到的所有示例都不起作用,因为它们使用阻塞调用,只解析响应并在收到整个响应后将其分解为多个部分(这显然不适用于无休止的响应)。

我意识到我可以在数据到达时通过搜索消息边界手动将其分解为多个部分,但感觉就像我在重新发明轮子一样。

【问题讨论】:

    标签: java http multipart


    【解决方案1】:

    【讨论】:

    • 谢谢- Cambozola 看起来正是我想要做的,我会多看看他们的代码。我希望使用适当的 HTTP 库而不是自定义代码,因为它都是标准 HTTP,但看起来我想做的事情没有太多可用的。
    • 似乎 HTTP 推送仅用于网络摄像头和一些实验。代码也没有那么复杂。我只会说确保正确处理连接失败,不要假设所有信息都会正确到达。任何浏览器 api 也应该正确处理。
    【解决方案2】:

    试试 Apache Commons 的 HttpClient。源代码有几个类,展示了如何以流方式读取多部分。

    【讨论】:

    • 我查看了这个库的文档,看起来它只用于解析多部分 HTTP 请求,而不是响应。根据此线程,它不能用于解析多部分响应:markmail.org/message/l6t46xzmikkbxo2e。我正在研究他们在链接中提到的 Mime4j。
    【解决方案3】:

    我编写了类来处理我的项目Sceye-Fi 的多部分请求,这是一个使用java 6 附带的com.sun.net.httpserver 类的HTTP 服务器,以接收来自Eye-Fi 卡的照片上传。 理论上,没有什么可以阻止它处理无休止的多部分请求。 希望它会有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      • 2013-09-09
      相关资源
      最近更新 更多