gpt4 book ai didi

c++ - 使用 C++/Qt4 应用程序作为 Web 应用程序的后端

转载 作者:可可西里 更新时间:2023-11-01 17:43:39 28 4
gpt4 key购买 nike

对于我的一个应用程序,我想提供一个最小的网络界面。这个核心应用是用C++编写的,并使用Qt4作为框架。由于我还使用我编写的一些库来计算一些东西并进行一些复杂的数据管理,所以我想使用这个现有代码作为 Web 界面的后端。

想法 1:使用嵌入式 Web 服务器

我尝试的第一件事(并且在某种程度上起作用)是使用嵌入式网络服务器(mongoose)。可以想象,它只是一个非常薄的库,您必须自己实现很多东西(例如 session 管理、cookie 等)。

想法 2:使用普通 Web 服务器并向我的应用程序添加 fcgi/cgi/scgi 后端

我想到的下一件事是使用成熟但紧凑的 Web 服务器(例如,lighttpd)并简单地为其提供 fcgi/scgi/cgi 后端。我可以使用良好的框架(如 Pylons、PHP 或 RoR,(...))编写 Web 应用程序,并且只需要一个 URL 前缀,如 /a/...,它允许我直接与后端对话。

我尝试将 libfcgi 实现到我的应用程序中,但它看起来比需要的更困惑(例如,您必须实现自己的 TCP/IP 套接字才能在您的应用程序和 Web 服务器之间传递数据并通过FCGI 库,嗯)

想法 3:创建我的应用程序的命令行版本,它执行最基本的操作并使用普通的 Web 服务器和框架来完成其余的

这是我想到的第三个想法。它基本上是关于使用传统方式(PHP、RoR 等)创建 Web 应用程序并使用我的应用程序的命令行版本来处理数据并在需要时返回数据。


我有一些创建网络应用程序的经验,但我从来没有做过这样的事情,所以我想听听一些想法或建议。我想在浏览器(即 AJAX)上使用 JavaScript,并在 Web 浏览器和服务器之间传递一些 JSON 结构,以使用户体验更加流畅。

那么您对此有何建议和想法?老实说,我不想重新发明轮子。

最佳答案

我永远不会将自定义编写的应用程序作为前端暴露给网络,因为构建了像 apache 或 lighthttp 这样的服务器。它们为您提供一些开箱即用的严肃安全措施。

至于您的应用程序与该网络服务器的交互,这在一定程度上取决于负载以及您使用 PHP、Python 或您的网络服务器支持的其他语言(当然是通过解释器)编写软件的经验。

轻微的负载和从 PHP 访问的命令行工具可能会做得很好。

负载更重,您可能希望使用 Qt 实现一个简单的(SOAP?)服务器并从 python(或 php)脚本访问它。

这样您就不需要在您的应用中进行布局,也不需要实现那么多安全措施。

关于c++ - 使用 C++/Qt4 应用程序作为 Web 应用程序的后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2287318/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com