使用recv读取未知数据大小

时间:2013-12-03 12:38:04

标签: c sockets

我已经实现了一个(POSIX套接字)客户端,它将HTTP GET请求发送到指定的网站,并将http响应解析为源代码。

这些指定的网站是动态长度的,每个网站的大小都不同。 我怎么知道为了接收所有数据我应该分配多少字节?

我认为接收块 - 每次接收512块数据,解析然后将它们保存到文件中。

你们有没有高效的解决方案?

1 个答案:

答案 0 :(得分:0)

HTTP包含一个长度字段!

读取一些合理数量的字节,直到找到Content-Lenght: <len>,然后分配一个缓冲区来保存那个确切的数量。