HttpURLConnection.getInputStream()阻止

San*_*man 8 java

我正在使用HttpURLConnection类来发出http请求.我的代码看起来像这样 -

while(true){
    try{
         connection=(HttpURLConnection)url.openConnection();
         connection.setDoOutput(true);
         connection.setConnectTimeout(2*1000);
         InputStream in=connection.getInputStream();
    }
    catch(SocketTimeOutException e){}
    catch(IOException e){}
}
Run Code Online (Sandbox Code Playgroud)

一旦我检索到InputStream对象,我就对数据进行一些处理.我的问题是,如果我让程序运行得足够长,那么对getInputStream的调用会阻塞,而我永远不会超过它.

我错过了什么吗?任何指针或帮助将不胜感激.谢谢.

Zak*_*aki 7

设置连接的读取超时.此外,一旦完成它们,关闭finally块中的流.