0

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

4

1 回答 1

1

我的网络有问题,它会时断时续。我需要一个技巧来让我的程序等到连接再次打开并继续它的工作

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

于 2012-05-05T19:54:43.733 回答