HTTP服务的基本步骤:
-
首先,需要使用一个库来处理HTTP请求和响应。常见的选项包括Boost.Beast、cpp-netlib、Poco等。
-
创建一个服务器对象,并绑定到指定的端口。例如,使用Boost.Beast库可以这样实现:
boost::asio::io_context ioc; boost::asio::ip::tcp::endpoint endpoint{boost::asio::ip::make_address("0.0.0.0"), 8080}; boost::beast::http::acceptor acceptor{ioc, endpoint}; while (true) { boost::beast::tcp_stream stream{ioc}; acceptor.accept(stream.socket()); std::thread{[&stream]() { try { boost::beast::http::request<boost::beast::http::string_body> req; boost::beast::http::read(stream, buffer, req); // 处理HTTP请求,生成HTTP响应 boost::beast::http::response<boost::beast::http::string_body> res; res.version(req.version()); res.result(boost::beast::http::status::ok); res.set(boost::beast::http::field::server, BOOST_BEAST_VERSION_STRING);