gpt4 book ai didi

c - libcurl — 保持连接 "open"以上传多个文件 (FTP)

转载 作者:太空狗 更新时间:2023-10-29 16:44:22 32 4
gpt4 key购买 nike

我需要在我的应用程序上将目录上传到 FTP 服务器,并计划使用 libcurl。我看到没有直接的方法来上传一个目录有很多文件,这对我来说很有意义。但是,我找不到任何提及上传许多文件。

如果我得到目录中的文件列表,我可以循环上传它们。CURLOPT_FTP_CREATE_MISSING_DIRS 选项可能有助于子目录,但如果我也想知道我是否遗漏了这里的重点或者这将有任何严重的缺陷。

主要问题是:如何保持连接“打开”?重新连接每个文件可能意味着额外的不必要的开销。

理想情况下,我想继续使用简单的界面。但是如果另一个接口(interface)在这种情况下提供更好的支持,我会使用它。

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);

最佳答案

只需重新使用同一个句柄,它会尽可能保持连接打开,后续传输将重新使用之前的句柄。

当您使用 easy 接口(interface)时,连接缓存保存在 easy 句柄中。如果您改为使用多接口(interface),连接缓存将保存在多句柄中,并将在同一多句柄中使用的所有简单句柄之间共享。

关于c - libcurl — 保持连接 "open"以上传多个文件 (FTP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6412212/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com