C++搭建服务器代码
时间: 2024-08-14 16:10:11 浏览: 104
在C++中搭建服务器通常涉及到网络编程,例如使用Socket API或者更现代的库如Boost.Asio或C++17引入的std::network。以下是一个简单的基于套接字的TCP服务器的示例:
```cpp
#include <iostream>
#include <string>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;
class Server {
public:
void start(int port) {
boost::asio::io_service io_service;
tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), port));
for (;;) {
tcp::socket socket(io_service);
acceptor.accept(socket);
std::string request = "Hello from server!"; // 模拟接收客户端请求
sendRequest(socket, request); // 发送响应
// 关闭连接
socket.close();
}
}
private:
void sendRequest(tcp::socket& socket, const std::string& message) {
boost::system::error_code ignored_error;
socket.write(boost::asio::buffer(message), ignored_error);
if (ignored_error)
std::cerr << "Failed to send data: " << ignored_error.message() << std::endl;
}
};
int main() {
try {
Server server;
server.start(8080); // 使用端口号8080启动服务器
std::cout << "Server is listening on port 8080." << std::endl;
} catch (std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
这个例子创建了一个基础的TCP服务器,它监听指定的端口,接受客户端连接,然后发送一条固定的消息作为响应。注意这只是一个非常基础的框架,实际应用中你需要处理更多的细节,比如错误处理、线程安全、多路复用等。
阅读全文