我在http://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html阅读了文档。我知道CURL会触发read_callback来做它的事情。
但是在高级别,因为read_callback返回size_t,例如x字节,是CURLOPT_READFUNCTION告诉服务器的目的,“嘿,我将发送给你x字节”。所以服务器确切地知道会发生什么。
这是它的要点吗?
答案 0 :(得分:0)
回调的目的是将N个字节的数据传递给libcurl以进行您要求它进行的传输。并且随着转移的进行,能够逐个进行,libcurl会一遍又一遍地调用它。
当libcurl即将发送数据时,它将向具有此回调的应用程序询问要传输的确切字节。这就是整个目的。它需要返回数据量,以便libcurl知道您复制到其缓冲区的数据量。
总上传传输的大小(服务器预期的大小)通常使用单独的选项设置,如CURLOPT_POSTFIELDS或CURLOPT_INFILESIZE,具体取决于特定请求。