【问题标题】:Java program and network connection timeoutJava程序和网络连接超时
【发布时间】:2012-05-05 17:55:44
【问题描述】:

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

【问题讨论】:

  • 请发布您的连接代码并告诉我们究竟是什么“不起作用”。
  • 给我们你得到的例外情况。
  • 现在,它已连接,我无法测试它,我应该等待!对不起

标签: java networking timeout


【解决方案1】:

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

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

【讨论】:

  • 您提供的链接中没有 setTimeout() 方法。
  • 已更正。是setConnectTimeout
猜你喜欢
  • 2017-10-06
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-04
  • 2013-09-20
相关资源
最近更新 更多