【问题标题】:QT reports "QNetworkReplyHttpImplPrivate::_q_startOperation was called more than once" when requesting a http URL请求 http URL 时,QT 报告“QNetworkReplyHttpImplPrivate::_q_startOperation 被多次调用”
【发布时间】:2019-06-10 16:17:35
【问题描述】:

我正在做一个非常小而简单的协议实现,我的程序将发送一个特定的 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 cmets 但没有解释原因。

【问题讨论】:

    标签: qt network-programming qnetworkaccessmanager qnetworkreply


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-16
      • 2012-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 2021-10-22
      • 1970-01-01
      相关资源
      最近更新 更多