Java程序和网络连接超时

时间:2012-05-05 17:55:44

标签: java networking timeout

我有一个从网上收集数据的java程序。 不幸的是,我的网络有问题,它一直在继续。
我需要一个技巧来让我的程序等到连接再次打开并继续其工作。
我使用“URLConnection”库进行连接。当一个“ConnectException”被捕获时,我做了一个循环来重新连接,但它不起作用。
有什么建议吗?

1 个答案:

答案 0 :(得分:1)

  

我的网络存在问题,而且它一直在继续。我需要一个技巧来问   我的程序等到连接再次打开并继续其工作

这取决于你的计划目的是什么 这些间歇性故障有多长?如果它们足够短,您可以使用setConnectTimeout(0)来指示尝试连接时的无限超时时间,但如果您的程序必须报告某些内容,那么它对最终用户来说不是一个好选择。
您可以设置相对较低的超时时间,这样当您开始丢失网络时,您将获得java.net.SocketTimeoutException 当你抓住这个时,你可以等待一段时间然后再循环一次,例如3次,然后报告失败 这取决于你想要做什么。