【问题标题】:libcurl - CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVLlibcurl - CURLOPT_TCP_KEEPIDLE 和 CURLOPT_TCP_KEEPINTVL
【发布时间】:2022-01-09 19:28:06
【问题描述】:

请告诉我参数:CURLOPT_TCP_KEEPIDLE 和 CURLOPT_TCP_KEEPINTVL 有什么区别?

CURLOPT_TCP_KEEPIDLE:设置延迟,以秒为单位, 系统将在连接空闲时等待,然后再发送 keepalive 探针。并非所有操作系统都支持此选项。

CURLOPT_TCP_KEEPINTVL:设置间隔,以秒为单位, 操作系统将在发送保活探测之​​间等待。不是全部 操作系统支持此选项。

-我这样理解:CURLOPT_TCP_KEEPIDLE - 这意味着在操作系统认为连接已断开之前,操作系统将等待来自服务器端的一些“keepalive 探测”多长时间?

-但我无法理解:CURLOPT_TCP_KEEPINTVL - 设置间隔...在哪个操作系统将等待 between .... 介于什么之间?什么和什么之间的间隔?

【问题讨论】:

    标签: c++ c libcurl


    【解决方案1】:

    TCP 保持活动在两个端点之间发送“保持活动”探测(小型 IP 包)。

    如果一段时间内没有通过 TCP 连接传输数据,则 TCP 端点将发送保持活动探测。本期为CURLOPT_TCP_KEEPIDLE

    如果其他端点仍然连接,则其他端点将回复keep alive探测。

    如果其他端点没有回复keep alive 探测,TCP 端点会在一定时间后发送另一个keep alive 探测。本期为CURLOPT_TCP_KEEPINTVL

    TCP 端点将继续发送保持活动探测,直到另一个端点发送回复或发送了最大数量的保持活动探测。如果已经发送了最大数量的保持活动探测而没有来自另一个端点的回复,则 TCP 连接将不再连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      • 2015-05-14
      相关资源
      最近更新 更多