Остановить QNetworkRequest, буферизирующий весь запрос - PullRequest
3 голосов
/ 10 октября 2009

Как я могу остановить QNetworkRequest от буферизации всего содержимого QIODevice во время установки / публикации соединения HTTPS? Он отлично работает при отправке сообщений по протоколу HTTP, но HTTPS заставляет весь файл считываться в память до начала публикации.

Ответы [ 2 ]

1 голос
/ 13 октября 2009

Это не поддерживается с использованием классов Qt. Причина в том, что Qt нужно знать общую длину данных для заголовков SSL. Chunked-кодирование не поддерживается с точки зрения отправки. Однако вы можете свернуть свой собственный - вам нужно создать свой собственный заголовок SSL, а затем создать свои собственные фрагменты данных в кодировке SSL.

Я предлагаю вам обернуть все это в вашем собственном классе, так что его можно многократно использовать (почему бы не опубликовать его в Интернете?).

Кстати, большая часть этой информации была взята из недавней ветки в Списке рассылки Qt-Interest - в ветке 30 сентября 2009 года обсуждалась именно эта проблема.

0 голосов
/ 15 октября 2009

Возможно, вы добьетесь большего успеха с Qt 4.6. В этом есть некоторые исправления.

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