Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
libcurl会话和可选的连接重用_C_Ssl_Libcurl - Fatal编程技术网

libcurl会话和可选的连接重用

libcurl会话和可选的连接重用,c,ssl,libcurl,C,Ssl,Libcurl,是否可以始终使用SSL会话id重用共享对象,但可以选择重用连接 场景:我们有一个长轮询循环,需要重新使用连接和ssl票证id。此外,不时有WS-calls发送一些状态,它们也需要ssl票证,但希望只包含到该调用的连接,而不让它在最大连接期限内停留 这可能吗?我可以提取SSL会话并将其放入另一个curl对象中吗?还是其他方式? 或者在那些一次性通话中,我可以将maxage=0或keepalive=0 比尔 谢谢大家! 据我所知,SSL会话ID已在给定的easy handle上重用。要跨轻松句柄重用

是否可以始终使用SSL会话id重用共享对象,但可以选择重用连接

场景:我们有一个长轮询循环,需要重新使用连接和ssl票证id。此外,不时有WS-calls发送一些状态,它们也需要ssl票证,但希望只包含到该调用的连接,而不让它在最大连接期限内停留

这可能吗?我可以提取SSL会话并将其放入另一个curl对象中吗?还是其他方式? 或者在那些一次性通话中,我可以将maxage=0或keepalive=0

比尔


谢谢大家!

据我所知,SSL会话ID已在给定的easy handle上重用。要跨轻松句柄重用,必须调用
curl\u share\u setopt()
将prameter
CURLSHOPT\u share
设置为option
curl\u LOCK\u DATA\u SSL\u SESSION

相关文件:

  • CURL\u LOCK\u DATA\u SSL\u会话

    SSL会话ID将通过使用此 共享对象。这将减少SSL握手所花费的时间 重新连接到同一服务器时。注意:SSL会话ID被重用 默认情况下,在相同的easy handle中。注意:此符号是在中添加的 7.10.3但直到7.23.0才实施

发件人:


免责声明:我没有亲自尝试过,但似乎得到了支持。

这是正确的,但不是我问的问题。。。我们已经使用了CURL_LOCK_DATA_SSL_SESSION和CURL_LOCK_DATA_CONNECT,但我们有两个线程连接到同一台服务器,其中一个我们希望使用连接重用,因为它总是在重新连接,对于第二个,我们只想重用SSL,不想将连接放在缓存中,以便在最大超时后关闭,但您是否立即尝试复制原始句柄(以保留SSL信息),然后在设置URL后,在调用curl_easy_perform()之前设置相关的HTTP头?(
struct curl\u slist*list=curl\u slist\u append(list,“Connection:close”);curl\u easy\u setopt(curl,CURLOPT\u HTTPHEADER,list);
)或者,在要自动关闭的句柄上,改为设置此选项:CURLOPT\u禁止重用,参数close为1<代码>curl\u easy\u setopt(句柄,CURLOPT\u禁止重用,1)这可能比前者更正确。亲爱的@JohnH,够近了!禁止或新鲜连接都是完美的!