我已经使用套接字成功调用了Web请求并打印出结果 . 这是通过send和recv方法完成的 . 现在我希望能够给出一个表示接收到多少字节以及需要下载多少字节的表示 . 但我根本不知道如何在C中实现这一点 .
我到目前为止收到的代码是:(我不是在计算机上用实际代码)
while ((rev = recv(sockfd, buf, size-1, 0)) > 0) { //Print result etc }
套接字仅限于数据包,它不知道你正在下载什么 .
如果使用HTTP从Web服务器下载文件,则可以使用HTTP响应头来获取所需信息"Content-Length"请参阅:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
因此,读取第一个数据包并将接收数据的第一个字节解释为“HTTP响应头”,以了解必须下载多少 .
1 回答
套接字仅限于数据包,它不知道你正在下载什么 .
如果使用HTTP从Web服务器下载文件,则可以使用HTTP响应头来获取所需信息"Content-Length"请参阅:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
因此,读取第一个数据包并将接收数据的第一个字节解释为“HTTP响应头”,以了解必须下载多少 .