在C++/Qt(充当服务器)中创建提供JSON数据的简单WebService

Hor*_*ter 17 c++ qt json web-services

我需要创建一个简单的Web服务(作为"服务器").目标是提供我在Qt/C++应用程序中读取的一些数据作为JSON数据.基本上,浏览器中的JavaScript应用程序应从Qt应用程序读取其数据.它通常是单个用户场景,因此用户在其浏览器中运行Google Maps应用程序,而其他数据来自Qt应用程序.

到目前为止,我已经找到了这些库:

  1. Qxt:http://libqxt.bitbucket.org/doc/0.6/index.html 但是作为C++/Qt的新手我错过了一些例子.补充:我在这里找到了一个例子
  2. gSoap:http://www.cs.fsu.edu/~engelen/soap.html有更多示例和文档,似乎也支持JSON
  3. KD SOAP:http://www.kdab.com/kdab-products/kd-soap/据我所知没有例子,文件在这里
  4. Qt的特色在于它,但它更多的是作为客户:http://qt-project.org/videos/watch/qt-networking-web-services

检查SO给我基本上链接到上面的库

  1. 带有Qt的webservice,我没有真正得到的例子.
  2. 如何通过Qt创建Web服务

基本上我确实有以下问题:

  1. 你会用哪个lib?我想尽量保持简单,并需要一个例子.
  2. 除了WebService之外,还有另一种(简单!)方式将JSON数据提供给JavaScript Web页面吗?

- 编辑,备注:---

需要应用内在.无法安装Web服务器,无法使用额外的运行时间.用户只需运行该应用程序.也许Qt WebKit可能是一种方法....

- 编辑2 -

目前正在检查微型Web服务器,因为SO" Qt HTTP Server? "

Hor*_*ter 15

截至我的测试,目前我正在使用QtWebApp:http://stefanfrings.de/qtwebapp/index-en.html 这是编辑2(Qt HTTP Server?)的答案之一

Stefan的小型WebServer有一些记录良好的代码,用"Qt C++"编写并且易于使用,特别是如果你已经使用过servlet.由于它可以很容易地集成到我的Qt项目中,我最终会得到一个内部WebServer.

我的JSON测试中的一些演示代码,显示生成JSON内容基本上是创建一个QString.

void WebServiceController::service(HttpRequest& request, HttpResponse& response) {
// set some headers
response.setHeader("Content-Type", "application/json; charset=ISO-8859-1");
response.setCookie(HttpCookie("wsTest","CreateDummyPerson",600));

QString dp = WebServiceController::getDummyPerson();
QByteArray ba = dp.toLocal8Bit();
const char *baChar = ba.data();
response.write(ba);
}
Run Code Online (Sandbox Code Playgroud)

如果有人可以与其他lib共享简单的例子,请告诉我.

  • 这个项目有什么进展吗? (2认同)