【问题标题】:Want to know Httpurlconnection.setConnectTimeout() working想知道 Httpurlconnection.setConnectTimeout() 工作
【发布时间】:2016-01-18 07:47:04
【问题描述】:

我已经使用 HttpUrlConnection 连接到微信 api 并将 connectTimeOut 设置为 500 milis 并在 3 秒内获得响应,现在我将 connectTimeOut 减少到 100 milis 并在 2 秒内获得响应。所以无法理解这背后的原因,查看代码和javadoc但没有找到任何相关内容。

【问题讨论】:

  • 你很困惑。连接超时不是建立连接所花费的时间,而是在此之前执行连接的限制。如果无法执行连接,则会抛出异常
  • @bigdestroyer 我对那个声明并不感到困惑 我知道 connectTimeOut 是哪个应用程序等待连接发生的时间,如果没有发生,那么就会出现套接字异常,这就是为什么非常想知道回答我的问题。
  • 这个结果可以重现吗?你用什么代码来验证你的假设?
  • @SubOptimal,是的,所有时间都可重现
  • 那你应该贴一段代码。尤其是展示您如何创建/打开连接并检索响应的部分。

标签: java http connection


【解决方案1】:

你很困惑。连接超时不是读取响应的最长时间,而是创建连接的最长时间。之后发送请求并读取响应。

如果您收到响应,显然连接在您的超时期限内成功,但随后需要几秒钟才能读取响应。这些不是一回事。

您可能还想设置读取超时,或者改为。

但是您设置的超时时间非常短。连接超时 3 秒和读取超时 10 秒大约是最小值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 2018-03-05
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多