HTTP客户端编程 - 如何知道服务器已发送所有数据

时间:2014-12-05 13:07:06

标签: http httpclient

我是HTTP客户端和TCP \ IP编程的新手,所以我的问题对于有经验的人来说可能是模糊的,但请尝试回答。

我正在实现HTTP客户端,在向服务器发送请求后,我正在等待读取事件(异步套接字),当读取事件到来时,我使用read命令提取数据并将其存储在本地缓冲区中。

这里如何知道服务器已经发送了所有数据,以便我可以开始处理信息? 我在这个阶段很困惑

2 个答案:

答案 0 :(得分:1)

内容可以一起或以块的形式返回。当服务器事先知道有效负载的长度时,它将在响应中提供Content-Length标头。但有时服务器在开始传输之前不知道有效载荷的总长度,然后使用chunk transfer

答案 1 :(得分:0)

来自服务器的响应应包含一个http-header,其中包含一个名为content-length的字段。您可以使用该长度来确定服务器应发送的数据量。一旦服务器发送了给定的金额,您就完成了接收数据