QT在请求http URL时报告“ QNetworkReplyHttpImplPrivate :: _ q_startOperation被多次调用”

时间:2019-01-16 14:37:55

标签: qt network-programming qnetworkaccessmanager qnetworkreply

我正在对协议进行非常简单的实现,其中我的程序将向目标计算机发送特定的URL,而目标将以JSON文件进行回复。

我已经阅读了许多有关如何在QT中执行此操作的示例,但是仍然遇到一条我不理解的日志消息,并且我无法弄清楚问题出在哪里。

这是我发送HTTP请求的简约代码的一部分:

主要类别:

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_connectToSiteButton_clicked();
    void httpFinished();
    void httpReadyRead();

signals:

private:
    Ui::MainWindow *ui;

    QByteArray *mByteArray;
    QNetworkAccessManager *mNetMan;
    QNetworkReply *reply;

};

这是实际发送网络请求的实现:

    void MainWindow::on_connectToSiteButton_clicked()
{

    mNetMan = new QNetworkAccessManager;
    // Send a Alarm status request
    const QUrl ALARMLIST_URL("http://192.168.1.115/JSON.HTML?FN=ALSummary");

    reply = mNetMan->get(QNetworkRequest(ALARMLIST_URL));
    connect(reply, &QNetworkReply::finished, this, &MainWindow::httpFinished);
    connect(reply, &QIODevice::readyRead, this, &MainWindow::httpReadyRead);
}

当我运行代码并按下按钮时,我在“应用程序输出”窗口中得到以下消息: QNetworkReplyHttpImplPrivate :: _ q_startOperation被多次调用QUrl(“ http://192.168.1.115/JSON.HTML?FN=ALSummary”)

当我寻找解决方案时,我仅找到git注释,而未找到引起该问题的原因。

1 个答案:

答案 0 :(得分:0)

这似乎是(同时)已知的错误,将在Qt 5.12.2中修复:QTBUG-72463