libcurl - Держите соединение «открытым» для загрузки нескольких файлов (FTP)

Мне нужно загрузить каталоги на FTP-сервер в моем приложении, и я планирую используйте libcurl .Я вижу, что нет прямого способа загрузить каталог со многими файлы, что для меня имеет смысл. Однако я не мог найти упоминания о загрузка большого количества файлов.

Если я получу список файлов в каталоге, я могу загрузить их в цикле. Параметр CURLOPT_FTP_CREATE_MISSING_DIRS может помочь с подкаталогами, но если бы я также хотел знать, упускаю ли я здесь суть или это будет любой серьезный недостаток.

Главный вопрос: как я могу сохранить соединение "открытым"? Повторное подключение каждый файл, вероятно, будет означать дополнительные нежелательные накладные расходы.

В идеале, я хотел бы продолжать использовать простой интерфейс. Но если другой интерфейс обеспечивает лучшую поддержку в этом случае, я воспользуюсь им.

CURLcode ret;
CURL *handle = curl_easy_init();

/* Connect to FTP server using     *
 * the given username and password */

for ({each file}) {

    curl_easy_setopt(handle, ..., ...);
    ...
    ret = curl_easy_perform(handle);
    /* Analyse return code */
    curl_easy_reset(handle);
}

/* Disconnect from server */
curl_easy_clenup(handle);
11
задан sidyll 20 June 2011 в 13:47
поделиться