我有一个从网上收集数据的java程序。
不幸的是,我的网络有问题,它一直在继续。
我需要一个技巧来让我的程序等到连接再次打开并继续其工作。
我使用“URLConnection”库进行连接。当一个“ConnectException”被捕获时,我做了一个循环来重新连接,但它不起作用。
有什么建议吗?
答案 0 :(得分:1)
我的网络存在问题,而且它一直在继续。我需要一个技巧来问 我的程序等到连接再次打开并继续其工作
这取决于你的计划目的是什么
这些间歇性故障有多长?如果它们足够短,您可以使用setConnectTimeout(0)来指示尝试连接时的无限超时时间,但如果您的程序必须报告某些内容,那么它对最终用户来说不是一个好选择。
您可以设置相对较低的超时时间,这样当您开始丢失网络时,您将获得java.net.SocketTimeoutException
当你抓住这个时,你可以等待一段时间然后再循环一次,例如3次,然后报告失败
这取决于你想要做什么。