如何判断是否使用Winsock(VB6)到达了远程文件的末尾?

如何判断是否使用Winsock(VB6)到达了远程文件的末尾?,vb6,winsock,Vb6,Winsock,我正在基础代码之上开发一个程序,负责底层套接字编程。问题似乎是,它知道(显然)何时停止关闭连接的唯一方法是接收的字节数超过“内容长度”字段中给定的字节数。但由于该字段并没有为许多站点设置,我不知道如何告诉它停止。现在发生的情况是,在这些情况下,整个文件被下载,但连接仍然保持 必须在传入的数据/消息中查找某些内容?谢谢。既然您提到了内容长度标题,您是从HTTP服务器下载的吗?如果是这样,则当传输编码头指示正在使用分块的传输时,内容长度头被省略,这意味着数据以小的顺序分块发送(因此不能提前在内容长度

我正在基础代码之上开发一个程序,负责底层套接字编程。问题似乎是,它知道(显然)何时停止关闭连接的唯一方法是接收的字节数超过“内容长度”字段中给定的字节数。但由于该字段并没有为许多站点设置,我不知道如何告诉它停止。现在发生的情况是,在这些情况下,整个文件被下载,但连接仍然保持


必须在传入的数据/消息中查找某些内容?谢谢。

既然您提到了
内容长度
标题,您是从HTTP服务器下载的吗?如果是这样,则当
传输编码
头指示正在使用
分块的
传输时,
内容长度
头被省略,这意味着数据以小的顺序分块发送(因此不能提前在
内容长度
头中报告完整大小)。每个区块都有自己的标头,用于指定其区块的大小。您需要解析并丢弃每个块头,这样就不会将它们保存在目标文件中,只保存块数据。当您收到报告cheunk数据大小为0的块头时,将到达文件末尾


有关更多详细信息,请参阅第3.6.1节。

FD\u关闭网络事件。哦。