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

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

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

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

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

涉及知识点:

  • 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 框架:

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

HTTPS Web 框架:

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

关于该项目详细的开发步骤、思路以及代码详解,点击最下方的 “阅读原文”即可马上查看了~

???????????? 点击阅读原文,查看课程更多信息~