如何使用HttpClient下载连续数据流?

问题描述

| 我目前正在使用HttpURLConnection来直播直播内容,例如广播。但是,使用HttpClient似乎是更好的选择,因为Android很好地支持了HttpClient,并且它是更好的实现。同样,似乎存在从丢失的连接自动重新连接的逻辑。 我的问题是我无法使它正常工作。调用httpclient.execute(...)时,它始终挂起。 我究竟做错了什么?
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(\"http://208.76.243.123:7100\");
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
    

解决方法

在调试器中运行它,当它挂起时,调用break。然后找到正在执行代码的线程,并在堆栈跟踪中查看其确切被阻塞的位置。您将看到它是否阻塞了IO或发生了其他事情。有了这些数据,将更容易发现问题。     ,您确定服务器理解HTTP协议吗? (我想是的,听起来您有其他客户在工作)。 execute方法可能由于未看到有效的Response标头而被阻止。 您可能想要
entity.getContent()
,它将返回流的句柄。看到这个问题。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...