#include \n#include <sys/socket.h>\n#include <netinet/in.h>\n#include <unistd.h>\n\nint main() {\n // 创建socket\n int serverSocket = socket(AF_INET, SOCK_STREAM, 0);\n if (serverSocket == -1) {\n std::cerr << "Failed to create socket" << std::endl;\n return -1;\n }\n\n // 设置服务器地址和端口\n sockaddr_in serverAddress{};\n serverAddress.sin_family = AF_INET;\n serverAddress.sin_addr.s_addr = INADDR_ANY;\n serverAddress.sin_port = htons(8888); // 使用8888端口\n\n // 绑定socket到指定地址和端口\n if (bind(serverSocket, (struct sockaddr *)&serverAddress, sizeof(serverAddress)) == -1) {\n std::cerr << "Failed to bind socket" << std::endl;\n return -1;\n }\n\n // 监听连接\n if (listen(serverSocket, 10) == -1) {\n std::cerr << "Failed to listen on socket" << std::endl;\n return -1;\n }\n\n std::cout << "Server started, listening on port 8888" << std::endl;\n\n while (true) {\n // 接受新的连接\n sockaddr_in clientAddress{};\n socklen_t clientAddressLength = sizeof(clientAddress);\n int clientSocket = accept(serverSocket, (struct sockaddr *)&clientAddress, &clientAddressLength);\n if (clientSocket == -1) {\n std::cerr << "Failed to accept connection" << std::endl;\n continue;\n }\n\n std::cout << "Client connected" << std::endl;\n\n // 处理客户端请求\n char buffer[1024];\n ssize_t bytesRead = read(clientSocket, buffer, sizeof(buffer));\n if (bytesRead == -1) {\n std::cerr << "Failed to read from socket" << std::endl;\n close(clientSocket);\n continue;\n }\n\n // 打印客户端发送的消息\n std::cout << "Received message from client: " << buffer << std::endl;\n\n // 发送响应给客户端\n const char *response = "Hello from server";\n ssize_t bytesSent = write(clientSocket, response, strlen(response));\n if (bytesSent == -1) {\n std::cerr << "Failed to write to socket" << std::endl;\n }\n\n // 关闭连接\n close(clientSocket);\n std::cout << "Client disconnected" << std::endl;\n }\n\n // 关闭服务器socket\n close(serverSocket);\n\n return 0;\n}\n\n这段代码创建了一个简单的TCP服务器,监听端口8888。它接受客户端连接,读取客户端发送的消息,然后向客户端发送一个固定的响应消息。请注意,这只是一个基本示例,并没有处理并发连接和其他错误处理。在实际生产环境中,您可能需要添加更多的代码来处理这些情况。