从套接字读取分块数据(从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 ++中使用)。