0

我编写了一个非常简单的程序,从 FastCGI 服务器读取信息。它所做的一切都是接受文件描述符为 0 的套接字,并将它从服务器接收到的所有数据“吐”到raw.binary (1KB)中。我收到了 926 个字节,但文件长度为 1014,因为缓冲区有那个大小。

我尝试使用FastCGI 规范手动分析数据,但数据似乎与该规范告诉我的不匹配。

前 2 个字节都等于 1。很好,这意味着协议版本 1,类型 1。(代表请求的开始。)

接下来的 2 个字节组成一个包含 1 的 int16。这也符合预期,因为这是请求 ID,而 1 是第一个请求。

然而,接下来的 2 个字节(十六进制)00 08告诉我内容长度是 8...虽然这是不可能的,有很多内容甚至不在这个 8 值的范围内,如果您下载了二进制文件,您可以看到胡言乱语。

我究竟做错了什么?

4

1 回答 1

0

服务器发送了 2 条记录。第一条记录确实有 8 个字节长。

于 2013-11-18T18:16:32.793 回答