Название: Как закрыть соединенение? Отправлено: GamBitiK от Май 05, 2014, 22:20 void test::GetUrl()
{ connect (manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(replyFinished(QNetworkReply*))); manager->get(QNetworkRequest(QUrl(yandex.ru))); } } void test::replyFinished(QNetworkReply *Reply) { QByteArray txt = Reply->readAll(); if (i=1) { оборвать это соединение и не продолжать с ним работать } } Название: Re: Как закрыть соединенение? Отправлено: carrygun от Май 06, 2014, 04:25 У вас и так соединение ничего уже не делает, после испускания сигнала finished.
P.S. и не забывайте в таких слотах удалять ответ, иначе будет утечка памяти Код
Название: Re: Как закрыть соединенение? Отправлено: carrygun от Май 06, 2014, 04:45 Я так понимаю, это связано с этой (http://www.prog.org.ru/index.php?topic=26976) темой.
QNetworkAccessManager при вызове метода get() возвращает вам указатель на ответ QNetworkReply. Этот ответ является наследником класса QIODevice. Вам надо зацепиться на сигнал readyRead() этого ответа и читать данные из потока. Ну и в конце, если необходимо, то вызвать у ответа метод abort(). Псевдокод: Код
|