如何不在 curl_easy_perform() 上重新使用现有连接,在互联网连接更改时挂起
How not to re-use existing connection on curl_easy_perform(), hangs on internet connection change
详细,我注意到输出:
第一个运行结束时:
* Connection #0 to host www.example.com left intact
第二个开头运行:
* Found bundle for host www.example.com: 0x24e3360 [can pipeline]
* Re-using existing connection! (#0) with host www.example.com
我想要一种方法不重新使用现有连接,或者在使用现有连接之前进行验证。
其他详细信息:
我正在使用 libCurl 'easy' 接口执行一些简单的网页下载。我有一个 class 可以在它的构造函数中初始化和设置一些选项。在执行方法中,我添加了 url 选项,然后执行 curl_easy_perform(...)。
尝试使用我的 class 进行操作,我注意到:
- 如果第一个操作是离线的,接下来的操作就像离线一样(即使是在线的)
- 如果第一个操作在线,然后互联网连接被关闭,在下一个操作中,curl_easy_perform(...) 挂起并且永远不会 returns。
我想要基于当前互联网连接的更合适的行为和操作。 (我试过clean up and re-init + perform 方法中的option setting,效果不错,但是好像有点浪费。)
详细,我注意到输出:
第一个运行结束时:
* Connection #0 to host www.example.com left intact
第二个开头运行:
* Found bundle for host www.example.com: 0x24e3360 [can pipeline]
* Re-using existing connection! (#0) with host www.example.com
我想要一种方法不重新使用现有连接,或者在使用现有连接之前进行验证。
其他详细信息:
我正在使用 libCurl 'easy' 接口执行一些简单的网页下载。我有一个 class 可以在它的构造函数中初始化和设置一些选项。在执行方法中,我添加了 url 选项,然后执行 curl_easy_perform(...)。
尝试使用我的 class 进行操作,我注意到:
- 如果第一个操作是离线的,接下来的操作就像离线一样(即使是在线的)
- 如果第一个操作在线,然后互联网连接被关闭,在下一个操作中,curl_easy_perform(...) 挂起并且永远不会 returns。
我想要基于当前互联网连接的更合适的行为和操作。 (我试过clean up and re-init + perform 方法中的option setting,效果不错,但是好像有点浪费。)