增加你的 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 服务框架》即可马上查看了~