libcurl会话和可选的连接重用
是否可以始终使用SSL会话id重用共享对象,但可以选择重用连接 场景:我们有一个长轮询循环,需要重新使用连接和ssl票证id。此外,不时有WS-calls发送一些状态,它们也需要ssl票证,但希望只包含到该调用的连接,而不让它在最大连接期限内停留 这可能吗?我可以提取SSL会话并将其放入另一个curl对象中吗?还是其他方式? 或者在那些一次性通话中,我可以将maxage=0或keepalive=0 比尔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已在给定的easy handle上重用。要跨轻松句柄重用,必须调用
curl\u share\u setopt()
将prameterCURLSHOPT\u share
设置为optioncurl\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,够近了!禁止或新鲜连接都是完美的!