Java程序和网络连接超时

Java程序和网络连接超时

问题描述:

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

+0

请发布您的连接代码,并告诉我们究竟是什么“不起作用”。 – Tudor

+0

告诉我们你得到的例外。 – Jeremy

+0

现在,它已连接,我无法测试它,我应该等待!对不起 –

我的网络出现问题,它开着。我需要一个窍门,请求我的程序等待,直到连接再次打开并继续其作业

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

+0

在你提供的链接上没有setTimeout()方法。 – EJP

+0

更正了它。它是'setConnectTimeout' – Cratylus