从套接字读取分块数据(从http请求)的正确方法是什么?

sf::TcpSocket socket;
socket.connect("0.0.0.0", 80);

std::string message = "GET /address HTTP/1.1\r\n";
socket.send(message.c_str(), message.size() + 1);

// Receive an answer from the server
char buffer[128];
std::size_t received = 0;
socket.receive(buffer, sizeof(buffer), received);
std::cout << "The server said: " << buffer << std::endl;


但是服务器发送无限数据,并且socket.receive不返回管理。有正确的方法来部分读取分块数据吗? (答案是分块数据)。

最佳答案

处理HTTP请求的正确方法是使用一个更高级别的库来为您管理套接字连接。在C ++中,一个例子是pion-net。还有其他类似Mongoose的东西(它是C,但是可以在C ++中使用)。

09-04 16:47
查看更多