Понимание curlopt_readfunction (libcurl)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Понимание curlopt_readfunction (libcurl)

Сообщение Anonymous »

Я использую Libcurl для отправки электронных писем из программы C ++. Я написал обратную связь curlopt_readfunction, требуемую Curl, передавая DataStream из QT как *userData: < /p>
size_t readData(char *buffer, size_t size, size_t n_items, void *userdata)
{
QDataStream *stream = (QDataStream*) userdata;
return stream->readRawData(buffer, size*n_items);
}
< /code>
Но по какой -то причине, если объем данных превышает 183 байта, сообщение усекается при таком размере, в противном случае оно не отправляется. Читая документацию Libcurl, я нашел это:

Если вы остановите текущую передачу, возвращая 0 «до настройки» (то есть до ожидания сервера, , как, когда вы сказали, что вы будете загружать n байтов, и вы загружаете менее N Bytes ), вы можете испытывать, что серверы «висит», ожидая, что они не будут, что они не будут испытывать, что они не будут испытывать, что нет, которые не будут предсказаны, которые не будут испытывать данные, которые не будут предсказаны, которые не будут испытывать, что не будет. />
https://curl.se/libcurl/c/curlopt_readf ... lобразное/> Но у меня нет способа сказать, сколько байтов я буду загружать, только сколько я могу читать, основываясь на размере данного буфера. Поэтому я не понял эту часть документации.
Я ожидал, что полное сообщение будет отправлено по электронной почте.

Подробнее здесь: https://stackoverflow.com/questions/797 ... on-libcurl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»