【发布时间】:2014-01-05 18:44:21
【问题描述】:
如何在android上实现http流客户端?
我有一个彗星流媒体服务器 - 它接收一个 http 请求,保持它打开并不时刷新数据。
如何从 Android 发出 http post 请求并继续处理服务器发送给我的刷新(使用当前打开的连接)?请注意,响应标头包含:Transfer-Encoding:chunked
我尝试使用 HttpClient 和 HttpPost 以及 ChunkedInputStream 但无法以正确的方式处理这个问题 - 有没有办法在 回调 中处理这个问题> 基本方式,我的意思是在每次刷新时获取一些事件,然后处理当前内容?
已编辑: 目前我想到了两种解决方案:
1) 逐字节读取并搜索结束分隔符,一旦我得到结束分隔符,我就可以处理最后一条消息并继续阻塞读取操作的读取线程 - 直到下一个消息到达。
2) 发送消息的长度,然后发送消息本身(来自服务器),然后在我的 android 应用程序上,我将尝试通过读取 x 个字节(根据第一个长度 msg)来获取最后一条消息和之后让读取线程阻塞读取操作,直到下一条消息到达。
【问题讨论】:
标签: java android http comet http-streaming