问题描述
|
我目前正在使用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()
,它将返回流的句柄。看到这个问题。