使用 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 可以在 android 和 ios 上运行吗? 是的! 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
如何从 FTP 下载文件并使用 PHP 将其流式传输到客户端