🗣 Wd提问: asio http服务器
🤖 Ai回答: 可以,以下是一个简单的使用 Boost.Asio 实现的 HTTP 服务器示例:
cpp
include <boost/asio.hpp
include <boost/bind.hpp
include <iostream
using namespace boost::asio;
using ip::tcp;
void handle_request(tcp::socket& socket) {
// Read the request
char buffer[1024];
size_t length = socket.read_some(boost::asio::buffer(buffer));
std::string request(buffer, length);
// Send a simple HTTP response
std::string response = HTTP/1.1 200 OK\r\nContent-Length: 13\r\n\r\nHello, World!;
boost::asio::write(socket, boost::asio::buffer(response));
}
void start_server() {
io_service io_service;
tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), 8080));
while (true) {
tcp::socket socket(io_service);
acceptor.accept(socket);
handle_request(socket);
}
}
int main() {
try {
start_server();
} catch (std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
说明:
1、Boost.Asio 是一个 C++ 的网络和低级 I/O 库,支持同步和异步操作。
2、该示例创建了一个简单的 HTTP 服务器,监听 8080 端口。
3、当客户端连接时,服务器读取请求并返回 Hello, World! 的响应。
编译命令(假设已安装 Boost):
bash
g++ -o http_server http_server.cpp -lboost_system
运行:
bash
./http_server
访问:
打开浏览器,访问 `http://localhost:8080`,应该会看到 Hello, World!。
注意:此示例仅用于演示,实际生产环境需要处理更复杂的请求、错误处理和多线程等。
📣 商家广告:





0
IP地址: 204.182.42.173
搜索次数: 37
提问时间: 2025-12-29 00:18:12
本站所有
❓
问答
均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
本站由
🟢
豌豆Ai
提供技术支持,使用的最新版:
豌豆Ai站群搜索引擎系统 V.25.10.25
搭建本站。