Libcurl chunked http сообщение получило обратный вызов - PullRequest
0 голосов
/ 07 мая 2018

Предоставляет ли libcurl какой-либо обратный вызов для вызова при получении фрагментированного http-сообщения? Один сервер устанавливает HTTP-соединение на основе кометы с клиентом. Таким образом, клиент отправляет запрос на открытие соединения, используя обычный http, ответы сервера с помощью фрагментированного http-сообщения, содержащего информацию, которую должен обработать клиент. Используя открытое соединение, несколько сообщений могут быть отправлены сервером клиенту по одному HTTP-запросу. Каждый должен быть обработан по-разному.

Есть ли способ получить эти сообщения после их отправки, не дожидаясь закрытия соединения?

1 Ответ

0 голосов
/ 08 мая 2018

libcurl по умолчанию не выставляет границы / границы чанков, если вы об этом. libcurl будет "декодировать" фрагментированные кодированные данные и вызывать обратный вызов записи с содержимым полезной нагрузки, не раскрывая фрагменты приложению. Затем libcurl может вызвать обратный вызов записи один или несколько раз для каждого входящего блока.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...