Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C+中的轻量级HTTP/HTTPS服务器+;(不是C)_C++_Proxy - Fatal编程技术网

C++ C+中的轻量级HTTP/HTTPS服务器+;(不是C)

C++ C+中的轻量级HTTP/HTTPS服务器+;(不是C),c++,proxy,C++,Proxy,我需要为我的应用程序构建一个轻量级http服务器,它基本上是一个服务器,它侦听端口并输出关于请求、https和其他功能的状态信息。但我想知道,首先,如果这样的东西存在于C++中,对于Linux和开源来说。p> 有人知道这样的节目吗 谢谢 编辑:它应该能够支持高负载。如果您可以使用boost,asio库提供http。它不使用SSL,但asio可以非常好地使用OpenSSL。在谷歌上快速搜索“C++web应用程序框架”可以看到CppCMS和WT。这可能会让您开始学习 或者,正如Sam已经回答的那样:

我需要为我的应用程序构建一个轻量级http服务器,它基本上是一个服务器,它侦听端口并输出关于请求、https和其他功能的状态信息。但我想知道,首先,如果这样的东西存在于C++中,对于Linux和开源来说。p> 有人知道这样的节目吗

谢谢


编辑:它应该能够支持高负载。

如果您可以使用boost,asio库提供http。它不使用SSL,但asio可以非常好地使用OpenSSL。

在谷歌上快速搜索“C++web应用程序框架”可以看到CppCMS和WT。这可能会让您开始学习


或者,正如Sam已经回答的那样:boost.asio附带了一个HTTP示例,如果您的需求很简单,那么这个示例就足够了。(真正的HTTP请求处理实际上非常复杂:)

如果不使用HTTPS,编写静态文件服务器大约需要两个小时的练习。

请参阅thttpd。假设是所有机器上最快的开源文件服务器,只有一个CPU。

如果您想处理高负载,我建议如下:

  • 适当的web服务器与Lighttpd、Nginx或Apache(按顺序)等所有产品一起使用

    它将在服务静态文件和处理应用程序方面做得很好。而且它们非常轻

  • 使用适当的Web框架编写C++应用程序——该设计是针对高负载
  • 设计的
  • 通过FastCGI或SCGI协议(按此顺序)将Web应用程序连接到服务器
  • 免责声明:我是CppCMS的作者

    在他们的网站中,是一个C++ HTTP REST框架… Pistache提供了HTTP客户端和服务器,可用于创建和查询复杂的web和REST API。还支持用C++异步处理请求。 它是完全免费的,并获得Apache许可。 还有一个学习指南


    如果有人在这里查看,希望这对您有所帮助

    高性能似乎不是一项要求:问题中的“无高负载”。由于需求不断变化,此答案不再适用。然而,现在即使是基于fork()的服务器也可以填充100位以太网。只要修复上面写着“请求时无高负载”的部分,读者就不会感到困惑。@jweyrich:Edited,谢谢你的建议。很抱歉给你带来了困惑。我的意思是,应用程序在开始时不会有高负载,但它应该能够支持高负载。预期负载是多少?每秒100个客户?1k/s?10公里/秒?100k/s?考虑到新的需求,我认为最好提及Asio可以利用异步机制,如epoll(基于Linux)、kqueue(基于BSD)和重叠IO(Windows)。更多信息。