增加你的 C++ 技能,用 C++ 撸一个 Web 服务框架

Web 服务,是服务器开发中的一个基本单元,每一次 web 通信都要在服务器和客户端之间传递数据,看似简单,却要经过不少步骤,最好的做法是把服务端的请求和响应部分的过程抽象出来形成框架,实现最高级别的框架级代码复用。

长期以来,编写易于维护、可移植的网络代码一直是一个问题。C++ 通过引入 boost.asio 来解决此问题。boost.asio 是用于网络和底层 I/O 编程的跨平台 C++ 库,使用现代 C++ 方法为开发人员提供一致的异步模型。

今天带来一门用 C++ 来实现 Web 服务框架的教程,手把手带你撸一个 Web 服务框架,顺便学习 C++ 基础知识、Boost Asio 相关知识:

涉及知识点:

  • C++ 基本知识

  • 面向对象

  • 模板

  • 命名空间

  • 常用 IO 库

  • C++11 相关

  • lambda expression

  • std::shared_ptr

  • std::make_shared

  • std::unordered_map

  • std::regex

  • std::smatch

  • std::regex_match

  • std::function

  • std::thread

  • Boost Asio 相关

  • boost::asio::io_service

  • boost::asio::ip::tcp::socket

  • boost::asio::ip::tcp::v4()

  • boost::asio::ip::tcp::endpoint

  • boost::asio::ip::tcp::acceptor

  • boost::asio::streambuf

  • boost::asio::async_read

  • boost::asio::async_read_until

  • boost::asio::async_write

  • boost::asio::transfer_exactly

  • boost::asio::ssl::stream

  • boost::asio::ssl::stream_base::server

  • boost::asio::ssl::context

  • boost::asio::ssl::context::sslv23

  • boost::asio::ssl::context::pem

  • boost::system::error_code

  • HTTPS Web 框架的设计与实现

  • 证书文件的创建

项目效果图:
HTTP Web 框架:

HTTPS Web 框架:

关于该项目详细的开发步骤、思路以及代码详解,点击《C++ 实现 Web 服务框架》即可马上查看了~

原文地址:https://www.cnblogs.com/shiyanlou/p/13560681.html