使用 HTTP Post 从客户端流式传输数据

Posted

技术标签:

【中文标题】使用 HTTP Post 从客户端流式传输数据【英文标题】:Streaming data from client with HTTP Post 【发布时间】:2012-12-01 20:49:52 【问题描述】:

我想将数据从客户端流式传输到服务器。

我的应用程序将音频数据流式传输到服务器。我不知道当我开始流式传输音频时会持续多久。我想通过在记录数据时传输数据来减少延迟。上传完所有数据后,我将对其进行处理。

所以,我想要的是一个流式传输正文的 HTTP POST。在客户端,POST 将在数据可用时发送。在服务器端,我希望它像普通的 POST 一样到达,并带有完整的收集数据主体。

我目前正在使用 Restlet,并将我的流实现为 Restlet 框架的分块 POST。

但是,我找不到允许我开始 POST,然后开始流式传输数据的客户端 API。

我没有找到任何有用的搜索存档。任何人都可以在这里给我一个指针。 HTTP POST 可以这样使用吗?我可以为此使用 Restlet 吗?是否有另一种用于从客户端流式传输到服务器的标准模式/API?

非常感谢提前 彼得

【问题讨论】:

根据应用程序/客户端,Websocket protocol 可能对您来说很有趣。 很好,谢谢斯蒂芬。 Websocket 可以在 androidios 上运行吗? 是的! jWebSockets 看起来很不错。有人试过吗?其他建议? 在 Android 上我使用了Weberknecht,但是现在已经有一段时间没有发布了,所以我不确定它是否仍在开发中。对于 C++,我知道 WebSocket++,但我从未使用过。 【参考方案1】:

将为后面的人回答我自己的问题。

这是一个关于使用 Apache HttpClient 流式传输请求的好教程

搜索“请求流式传输:”

http://hc.apache.org/httpclient-3.x/performance.html#Request_Response_entity_streaming

【讨论】:

【参考方案2】:

我找不到允许我开始 POST 的客户端 API

你总是可以use a browser。服务端就跟一个文件上传一样。

【讨论】:

谢谢,但我需要在我的应用程序中执行此操作。我想做一个笔记本Java客户端进行调试,然后实现Android和iOS。

以上是关于使用 HTTP Post 从客户端流式传输数据的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop - 将来自 HTTP 上传 (PUT) 的数据直接流式传输到 HDFS

iOS:如何将音频数据从客户端流式传输到服务器?

如何从 FTP 下载文件并使用 PHP 将其流式传输到客户端

我可以使用 nodejs 将麦克风音频从客户端流式传输到客户端吗?

Rust 中的 HTTP 服务器推送(流式传输)客户端?

从 nodejs 录制音频和流式传输到客户端