C编程套接字recv



我用套接字成功地调用了web请求,并打印出了结果。这是通过send和recv方法完成的。现在我希望能够给出一个ruff指示,指示接收了多少字节,需要下载多少字节。但我根本不知道如何在C.中实现这一点

到目前为止,我收到的代码是:(我没有在电脑上用实际代码)

while ((rev = recv(sockfd, buf, size-1, 0)) > 0) {
    //Print result etc
}

套接字仅限于数据包,它不知道您正在下载什么。

如果您使用HTTP从web服务器下载文件,则可以使用HTTP响应标头来获取所需信息"内容长度"请参阅:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

因此,读取第一个数据包,并将接收到的数据的第一个字节解释为"HTTP响应头",以了解必须下载多少。

最新更新