개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.19 01:18

curl_multi_setopt 관련 질문

목록
  • UI디자이너 23시간 전 2025.06.19 01:18 새글
  • 7
    1
제가 현재 curl_multi_setopt 함수를 사용하여 다중 요청을 처리중인데,

다중 요청을 처리하는 동안에,

curl_multi_setopt(CURLM *mh, CURLMOPT_PIPELINING, 1L) 옵션을 사용하여 파이핑을 활성화 시켰는데,

이 옵션을 사용하는 경우,

curl_multi_select(CURLM *mh) 함수를 호출하여 select를 수행할 때,

다중 요청이 모두 완료된 후에 select를 수행하게 되는 것 같습니다.

이러한 현상은 curl_multi_setopt 함수의 옵션 문제인지,

curl_multi_select 함수의 문제인지,

또는 다른 문제인 것인지 궁금합니다.

다음 코드는 curl_multi_setopt 함수의 옵션을 사용하여 파이핑을 활성화 한 후에 curl_multi_select 함수를 호출한 코드입니다.

c

curl_global_init(CURL_GLOBAL_DEFAULT);



CURLM *mh;

mh = curl_multi_init();



CURL *curl;

curl = curl_easy_init();



curl_multi_setopt(mh, CURLMOPT_PIPELINING, 1L);



curl_multi_add_handle(mh, curl);



curl_multi_select(mh);



curl_multi_remove_handle(mh, curl);

curl_multi_cleanup(mh);



위 코드에서 curl_multi_select(mh); 함수를 호출한 후에,

다중 요청이 모두 완료된 후에 select를 수행하는 것 같습니다.

이러한 현상은 curl_multi_setopt 함수의 옵션 문제인지,

curl_multi_select 함수의 문제인지,

또는 다른 문제인 것인지 궁금합니다.

제가 원하는 것은 curl_multi_setopt 함수의 옵션을 사용하여 파이핑을 활성화 한 후에,

curl_multi_select 함수를 호출하여 select를 수행할 때,

다중 요청이 모두 완료된 후에 select를 수행하지 않고,

다중 요청 중에 select를 수행하고 싶습니다.

다음과 같은 코드를 작성하였는데,

다중 요청 중에 select를 수행할 수 있는지 궁금합니다.

```c
curl_global_init(CURL_GLOBAL_DEFAULT);

CURLM *mh;
mh = curl_multi_init();

CURL *curl;
curl = curl_easy_init();

curl_multi_setopt(mh, CURLMOPT_PIPELINING, 1L);

curl_multi

    댓글목록

    profile_image
    나우호스팅  23시간 전



    curl_multi_setopt 함수의 옵션 문제는 아닙니다.

    curl_multi_setopt 함수의 옵션인 CURLMOPT_PIPELINING은 파이핑을 활성화 시키는 옵션입니다.

    이 옵션을 사용하면, curl_multi_select 함수를 호출하여 select를 수행할 때, 다중 요청이 모두 완료된 후에 select를 수행하는 것이 아니라,

    다중 요청 중에 select를 수행할 수 있습니다.

    다중 요청 중에 select를 수행하기 위해서는, curl_multi_setopt 함수의 옵션인 CURLMOPT_PIPELINING을 사용하는 것이 아니라,

    다중 요청을 처리하는 동안에 select를 수행할 수 있도록 하는 옵션인 CURLMOPT_MAXCONNECTS를 사용해야 합니다.

    CURLMOPT_MAXCONNECTS 옵션은 최대 연결 수를 지정하는 옵션입니다.

    이 옵션을 사용하면, curl_multi_select 함수를 호출하여 select를 수행할 때,

    다중 요청 중에 select를 수행할 수 있습니다.

    다음은 예제 코드입니다.

    #hostingforum.kr
    c
    
    curl_global_init(CURL_GLOBAL_DEFAULT);
    
    
    
    CURLM *mh;
    
    mh = curl_multi_init();
    
    
    
    CURL *curl;
    
    curl = curl_easy_init();
    
    
    
    curl_multi_setopt(mh, CURLMOPT_MAXCONNECTS, 10L); // 최대 연결 수를 10으로 지정합니다.
    
    
    
    curl_multi_add_handle(mh, curl);
    
    
    
    while (1) {
    
        CURLMcode rc = curl_multi_select(mh);
    
        if (rc != CURLM_OK) {
    
            break;
    
        }
    
        CURLMcode rc = curl_multi_perform(mh, NULL);
    
        if (rc != CURLM_OK) {
    
            break;
    
        }
    
    }
    
    
    
    curl_multi_remove_handle(mh, curl);
    
    curl_multi_cleanup(mh);
    
    


    이 예제 코드에서는 CURLMOPT_MAXCONNECTS 옵션을 사용하여 최대 연결 수를 10으로 지정하고,

    curl_multi_select 함수를 호출하여 select를 수행할 때, 다중 요청 중에 select를 수행합니다.

    이러한 코드는 다중 요청 중에 select를 수행할 수 있습니다.

    2025-06-19 01:19

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 29,261건 / 12 페이지

검색

게시물 검색