读书人

急HttpURLConnection无限等待的有关问

发布时间: 2012-01-21 21:31:43 作者: rapoo

急!!!HttpURLConnection无限等待的问题!!!
我在程序中使用HttpURLConnection连接URL,但有时会连接的时间过长,一直等待下去
我已经设置了超时,但是感觉没有效果
connection.setConnectTimeout(connectTimeout*1000);
connection.setReadTimeout(readTimeout*1000);
然后获取并解析页面
connection.connect();
InputSource inpSrc = new InputSource(new InputStreamReader(connection.getInputStream(),"utf-8"));
inpSrc.setEncoding(encoding);
SAXReader reader = new SAXReader();
Document doc = reader.read(inpSrc); //程序有时会卡死在这一句上

我想知道是什么原因导致的程序无限等待,还有应该如何解决



[解决办法]
试试改成先把xml文件读取下来再做分析。
没研究过SAX的源码,不知道在read的时候你设置的ReadTimeout有没有效果。
[解决办法]
你先把时间设的小一点,测一下,看看会不会在相应的时间里结束程序,如果没有,说明设置的不对,然后再找原因!!
[解决办法]
单步测试,看程序走到设置的那里是不是会执行,然后就可能知道哪里出错,就好解决了!~~
[解决办法]
我觉得还是inpSrc 所指向的那个xml文件的格式问题,如果能先得到这个文件,然后用reader读入它,如果出错的话,可以先分析一下这个xml文件内容,看是否符合规范。

读书人网 >J2SE开发

热点推荐