程序卡在URL上,无法前进,也不会超时

时间:2013-07-08 16:39:55

标签: java url timeout

我的程序是一个网络抓取工具,它一直停留在一个显然对应于随机中文网站的网址上。由于某种原因,它没有抛出异常并且连接没有超时。我原以为这些线会阻止它。

static URLConnection in;
in = curURL.openConnection();
in.setConnectTimeout(2000);
pageSource = new StreamedSource(in);

我几乎肯定这是问题,对内存泄漏的堆转储的任何检查都没有发现。

1 个答案:

答案 0 :(得分:1)

setConnectTimeout()仅控制建立连接的超时时间。一旦启动,它可以持续很长时间(基本上直到服务器关闭它)。例如,您可能通过慢速链接下载非常大的文件。

一种解决方案是添加监视连接的监视程序线程,并关闭超过某个时间限制的监视程序线程。