Автор: amorf 18.11.2007, 18:27
Использую QHttp, мне необходимо ограничить скорость загрузки, это вообще реально?
Автор: balbes 18.11.2007, 18:35
Это можно сделать переопределив класс QTcpSocket и добавив в него контроль скорости, как это можно сделать можно понять из статьи: http://www.crossplatform.ru/?q=node/294. Потом только нужно незабыть про:
int QHttp::setSocket ( QTcpSocket *socket)

Удачи!
Автор: amorf 18.11.2007, 18:40
Куда не глянь уже статья написана по этому поводу, только где же взять время, чтобы их все прочесть.
Спасибо
Автор: AlekseyK 28.11.2010, 18:59
Цитата(balbes @ 18.11.2007, 17:35)

Это можно сделать переопределив класс QTcpSocket и добавив в него контроль скорости, как это можно сделать можно понять из статьи: http://www.crossplatform.ru/?q=node/294. Удачи!
Этот пример не работает со времён Qt 4.2 поведение QIODevice изменилось и пример перестал работать корректно: кушал 100% CPU (это я исправил), но не все данные приходят целиком. Вместо него появился Torrent Example в Qt с ограничением скорости. Мне нужен просто сокет с контролем скорости, поэтому я выкинул из класса PeerWireClient всё, что касается торрента, однако программа не заработала вообще. Кто разбирался с этим моментом: можно вас попросить взглянуть на код, пожалуйста,- в чём причина? Код прилагается. Класс RateController работает отлично - проверено, проблема в изменённом PeerWireClient - у меня это класс KTcpSocket.