【问题标题】:Giving C++ Application a HTTP Web Server Functionality为 C++ 应用程序提供 HTTP Web 服务器功能
【发布时间】:2009-05-17 00:24:08
【问题描述】:

我有一个 C++ 应用程序,正在寻找一个库,使其成为能够提供静态文件以及执行非常简单任务的 HTTP 服务器。唯一的限制是它必须是跨平台的。

我有什么选择。

澄清:我的应用程序需要一个 Web 界面。此应用程序是执行其他任务的后台程序。我想提供一种方法,以便您可以访问http://localhost:9999/performtaskhttp://localhost:9999/viewstatus

澄清2:像这样http://www.gnu.org/software/libmicrohttpd/

【问题讨论】:

  • 您的问题确实不清楚。您有一些想要通过网络提供的功能吗?

标签: c++ web-services http


【解决方案1】:

a question which has since been deleted,我问:

我正在寻找一个用 C 或 C++ 编写的编写良好、灵活的库(我正在用 C++ 编写我的应用程序),它可以用来将一个相对简单的 HTTP 服务器嵌入到我的应用程序中。最终我将使用它来监控应用程序。

有许多很棒的客户端库(例如 libwww、neon、curl),但我正在努力为服务器端找到一个好的解决方案。我确信其他人以前也这样做过,所以我很想听听人们做了什么,什么有效,什么无效。

我最终选择了Mongoose

【讨论】:

  • 正是我需要的(Mongoose 做线程的点++)谢谢!
  • 如果您不能使用 GPL,请使用 Civetweb - 这是基于原始的 MIT 许可版本的 Mongoose。
  • 问题链接已被删除,请编辑正文。
  • @AliBigdeli 已修复。保留链接以防问题未删除(我已要求删除),但也将正文粘贴到此处。
【解决方案2】:

Wt library 正是这样做的。推荐,尤其是当您的用户界面变得更复杂时。

【讨论】:

  • +1 Wt 是我找到的最好的库。很好的示例代码。糟糕的文档。如果你有 Qt 背景很容易。
【解决方案3】:

通过使用 boost::asio 的 HTTP 服务器示例,我完成了您想要完成的相同事情。

http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/examples.html

这对我来说是一个完美的解决方案,因为我的项目已经依赖于 boost::thread 和 boost::asio,所以 HTTP Server 示例代码适合我的应用程序,我可以轻松地完全控制它的线程行为。我只是将 HTTP Server 示例文件复制到我的项目中并自定义了请求-响应逻辑。

【讨论】:

    【解决方案4】:

    只是一个想法!

    您为什么不将您的 c++ 应用程序代码转换为以下任何 http 服务器的本机/扩展模块。

    • Apache 网络服务器
    • IIS 7.0 本机模块
    • Nginx
    • LightHttpd

    以上所有服务器除了IIS都是跨平台的。

    也许构建一个扩展模块会产生更好的输出,并且上述服务器也非常可扩展。

    【讨论】:

      【解决方案5】:

      我偏爱poco library 作为起点。

      【讨论】:

        【解决方案6】:

        看看 Snorkel,它是一个轻量级的快速跨平台嵌入式/应用服务器 SDK,允许您快速将 Web 界面添加到任何 C/C++ 应用程序。它是免费的,可以在http://sites.google.com/site/snorkelembedded 找到。它比猫鼬快。

        【讨论】:

          【解决方案7】:

          Qt 框架有内置的 webkit。看看那个。

          【讨论】:

            【解决方案8】:

            Java 将是跨平台解决方案的更好选择,而且它具有良好的 Web 服务 API。看看 Netbeans,这是一个很好的入门方法。

            【讨论】:

            • 这是一个不错的选择,除非应用程序已经编写好了,它必须是 C 或 C++
            猜你喜欢
            • 2017-02-07
            • 1970-01-01
            • 2016-12-23
            相关资源
            最近更新 更多