标题说明了自己。read_timeout和open_timeout有什么区别?

最佳答案

open_timeout 是您愿意等待“打开连接”的时间。在TCP上下文中,指的是您在放弃尝试并引发超时错误之前等待握手完成的时间。

您可能会猜到 read_timeout ,这是您愿意等待从关联方接收到一些数据的时间。一个例子可以使这一点变得清楚:

在基于TCP上下文的HTTP之上的SOAP中(简化):

  • 您尝试与服务器建立TCP连接。如果连接建立花费的时间比open_timeout长,则放弃连接尝试并引发/信号/返回超时错误。
  • 如果连接成功,则发送HTTP请求。 (这也可能失败,并且可能具有自己的超时时间)
  • 然后,您等待服务器的响应。如果响应花费的时间超过read_timeout,则删除连接并引发/信号/返回超时错误。
  • 关于ruby - Ruby:read_timeout和open_timeout之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17453099/

    10-15 08:04