旋度第九课curl_easy_perform重连机制

场景

curl_easy_perform内部实现了服务器连接,数据发送,重连等机制,前面调用的curl_easy_init也仅仅是简单的初始化一些变量。如果服务器在发送数据之后,关闭了连接,在下一次调用的时候,会重新建立连接。如果服务器在发送数据之后,继续保持当前的连接状态,可以一直使用已有的连接处理信息


代码

空白CAnXunShiIPCController:: TestLibCurlHTTPBasicAuth ()
{
旋度* pCurlHandle=curl_easy_init ();

curl_easy_setopt (pCurlHandle CURLOPT_CUSTOMREQUEST,“得到”);
curl_easy_setopt (pCurlHandle CURLOPT_URL, http://192.168.18.84/axis-cgi/com/ptz.cgi?camera=1&查询=位置),
curl_easy_setopt (pCurlHandle CURLOPT_USERPWD,“根:admin12345”);
curl_easy_setopt (pCurlHandle, CURLOPT_HTTPAUTH CURLAUTH_BASIC);
curl_easy_setopt (pCurlHandle, CURLOPT_WRITEFUNCTION WriteResponseBody);//设置回调函数//curl_easy_setopt (pCurlHandle CURLOPT_HEADER 1);//保存HTTP头部信息到strResponseData
curl_easy_setopt (pCurlHandle、CURLOPT_WRITEDATA和strResponseData);//设置回调函数的参数,获取反馈信息
curl_easy_setopt (pCurlHandle CURLOPT_TIMEOUT 15);//接收数据时超时设置,如果10秒内数据未接收完,直接退出
curl_easy_setopt (pCurlHandle CURLOPT_MAXREDIRS 1);//查找次数,防止查找太深
curl_easy_setopt (pCurlHandle CURLOPT_CONNECTTIMEOUT 5);//连接超时,这个数值如果设置太短可能导致数据请求不到就断开了

, (1)
{
CURLcode nRet=curl_easy_perform (pCurlHandle);
如果(0==nRet)
{
std:: cout & lt; & lt;strResponseData & lt; & lt;std:: endl;其他
}

{
std:: cout & lt; & lt;“执行失败,开始退出“& lt; & lt;std:: endl;
打破;
}
::睡眠(100),
}
curl_easy_cleanup (pCurlHandle);
}


旋度第九课curl_easy_perform重连机制