Uygulamamdaki bir FTP sunucusuna dizinler yüklemem gerekiyor ve libcurl'u kullanmayı planlıyorum. Görüyorum ki birçok dosya ile bir dizin yüklemek için doğrudan bir yol yoktur, bu bana mantıklı geliyor. Ancak, birçok dosya yükleyen numaralı telefondan herhangi bir söz bulamadım.libcurl - Çoklu Dosya Yükle'ye (FTP) Bağlan "açık" (FTP)
Dizindeki dosyaların listesini alırsam, bunları bir döngü halinde yükleyebilirim. CURLOPT_FTP_CREATE_MISSING_DIRS
seçeneği, alt dizinler, yardımcı olabilir, ancak bu noktayı kaçırıyor da varsa veya bu önemli bir dezavantajı varsa olurdu.
Ana soru şu: Bağlantıyı "açık" olarak nasıl saklayabilirim? Her dosyanın üzerinden yeniden bağlanması, muhtemelen fazladan istenmeyen bir ek yük anlamına gelir.
İdeal olarak, kolay arayüzü kullanmaya devam etmek isterim. Ancak başka bir arayüz bu durumda daha iyi destek sağlıyorsa, onu kullanacağım.
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);
Çok teşekkürler Sayın Stenberg, senden bir yanıt almaktan ne kadar gurur duyuyorsun! Daha fazla açıklama isteyebilirsem, bu durumda 'curl_easy_reset() 'gerekecektir? Adam sayfası, canlı bağlantıların tutamaçta tutulduğunu, ancak el ile (döngü içinde) seçenekleri yeniden ayarlayacağını söylüyor mu? – sidyll
Kodunuza en uygun olduğunu düşündüğünüz yolu yapabilirsiniz. Sıfırlama, bağlantı önbelleğini kesmeyecektir. Bunu tercih ederseniz seçenekleri manuel olarak yeniden ayarlayabilirsiniz. –
Bir kez daha teşekkürler ve harika iş için tebrikler. En iyi dileklerimiz – sidyll