Тайм-аут QNetworkAccessManager - PullRequest
       7

Тайм-аут QNetworkAccessManager

13 голосов
/ 19 апреля 2010

В настоящее время я работаю над приложением, которое отправляет и получает файл с удаленного сервера. Для работы в сети я использую QNetworkAccessManager.

Для загрузки файла я использую QNetworkAccessManager :: put (), а для загрузки я использую функции QNetworkAccessManager :: get ().

При загрузке файла я инициализирую таймер со временем из 15 сек. если я загружу небольшой файл, он завершит его в течение периода ожидания. Но если я попытаюсь загрузить файл очень большого размера, получится тайм-аут. Итак, как определить время ожидания для загрузки большого файла.

То же самое в случае загрузки большого файла. Я получаю файл в чанке по чанку в сигнале readyread (). Здесь также, если я загружаю большой файл, я получаю время. Итак, как определить время ожидания для загрузки большого файла.

1 Ответ

20 голосов
/ 19 апреля 2010

Используйте сигнал QNetworkReply::uploadProgress() (или downloadProgress), чтобы предупредить вас о том, что операция продолжается. Затем установите таймер на 15 секунд после последнего уведомления uploadProgress / downloadProgress (с таймером, запущенным после начала загрузки / выгрузки.) Если загрузка когда-либо останавливается, вы можете отменить операцию через 15 секунд после последнего обновления.

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