【问题标题】:QT REST development for HTML web client on linuxQT REST 开发用于 Linux 上的 HTML Web 客户端
【发布时间】:2014-09-30 09:08:14
【问题描述】:

在 Linux 系统中,我们需要将数据流传输为 JSON 格式以进行实时数据通信。例如,我们正在通过 Web 客户端调整音量,而不是它应该发布到服务器,反之亦然。 使用 QT 构建其余开发的最佳方法可能是与其他模块通信。

【问题讨论】:

  • Slyps 我会照你说的做。实际上我正在寻找一些好的例子,因为我对这个 HTTP 服务器完全陌生。我之前是 Qt Gui 开发人员,对 HTTP 一无所知
  • 我也想知道如何使用 HTTPs 进行路由。
  • github.com/supamii/QttpServer 是基于 Qt 的 Http 服务器的 QttpServer,它支持 RESTish 思想,即支持 JSON、API 路由,最重要的是 Qt

标签: c++ linux qt rest real-time


【解决方案1】:

在 Qt 5 中增加了对 JSON 的直接支持。检查可用的类here

要与 Web 部件通信,您应该使用 QNetworkManagerAccess 类。

这是如何实现的示例(未测试):

QVariantMap top;
top.insert( "key1", QString( "value1" ) );
top.insert( "key2", QString( "value2" ) );
const QJsonDocument doc = QJsonDocument::fromVariant(top);
QByteArray postData = doc.toJson();

QNetworkAccessManager* manager = new QNetworkAccessManager(this);

QNetworkRequest req;
req.setUrl(QUrl("http://www.test.com"));
req.setHeader(QNetworkRequest::ContentTypeHeader,"application/json");

QNetworkReply *reply = manager->post(req,postData);
...

【讨论】:

  • 您好,能否给我一些小的示例项目源代码,用于处理实时流式传输等 HTTP 请求响应。
  • @Wagmare,抱歉,没有,但我相信您现在可以很快自己制作。
  • 我只是想知道如何在 Web 服务器中为客户端请求路由以将请求导航到特定功能/处理程序。
猜你喜欢
  • 2013-12-26
  • 2019-02-06
  • 1970-01-01
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
  • 2015-12-24
  • 1970-01-01
相关资源
最近更新 更多