나는 응답을 조각으로 반환하는 C++의 curl로 서버 요청을 수행하고 있으며 그 조각의 크기도 다를 수 있습니다.CURL 실행 완료 및 시간 초과
각 조각이 도착할 때 콜백 함수가 호출되고 있습니다. 문제는 부모 클래스에 다른 콜백을 수행하기 위해 연결이 완료되면 감지 할 수 없다는 것입니다.
그런데 컬링 타임 아웃을 설정하고 감지 할 수 있는지 알고 싶습니다.
여기에 짧은 내 코드입니다 :
CURL *curl = curl_easy_init();
curl_global_init(CURL_GLOBAL_ALL);
curl_easy_setopt(curl, CURLOPT_URL, "My URL");
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "My Postfields");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
curl_global_cleanup();
기본 콜백 :
size_t writeCallback(char* buf, size_t size, size_t nmemb, void* up)
{
//do something
//But how can I detect the last callback when connection finished
//in order to call an another one?
return size*nmemb;
}
음. 어때요? * curl_easy_perform이 반환 된 후에 데이터를 저장하고 후속 작업을 수행하는 방법은? – WhozCraig
@WhozCraig : 죄송합니다. 나는 이전의 코멘트를 삭제했다. 당신이 나를 올바른 방향으로 이끄는 것 같아요! –