Я загружаю файлы с удаленного сервера с Qt5.5, и все работает нормально, но я не могу обнаружить, когда QNetworkReply возвращает ошибку. На самом деле, я пытаюсь проверить случай, если пользователь загружает файл, и вдруг он теряет интернет-соединение (потому что почему бы и нет :-)). Для этого я запускаю загрузку и отсоединяю свой кабель Ethernet через несколько секунд.QNetworkReply сигнал ошибки не обнаружен, когда соединение потеряно
Возникает ли в этом случае сигнал QNetworkReply::error(QNetworkReply::NetworkError)
? Если да, то почему я не вхожу в свой слот в моем коде ниже?
void MyClass::download(QUrl url)
{
QNetworkRequest request = QNetworkRequest(url);
QNetworkReply *reply = pManager.get(request);
// finished() is called after error(), but try both
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(requestError(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(finished()), this, SLOT(requestFinished()));
}
void MyClass::requestError(QNetworkReply::NetworkError err)
{
qDebug() << "error";
}
void MyClass::requestFinished()
{
qDebug() << "finished";
}
Я также подключен диспетчер доступа, как это:
connect(&pManager, SIGNAL(finished(QNetworkReply*)), SLOT(requestFinished(QNetworkReply*)));
Когда Интернет-соединение не прерывается, я иду в слот requestFinished(), но если не Интернет больше, я не входя в любой слот.
Я что-то не так?