0

背景:我有一个用 Erlang 编写的自定义 HTTP 服务器,用于将内容流式传输到 iPad 应用程序。我正在使用 NSURLConnection - 标准的高级 Apple 方式来使用 HTTP 内容。但是我遇到了小块数据被缓冲并且没有立即传递给我的代码的问题,所以我被迫切换到 CFNetwork。

虽然 NSURLConnection 从未抱怨过,但 CFNetwork 有时(大约 3 次中的 1 次)会出现以下错误并终止连接:

The operation couldn’t be completed. (kCFErrorDomainCFNetwork error 303.)

根据Apple 文档,这对应于“无法解析 HTTP 服务器响应”。

这仅在连接打开几秒钟并做出响应后才会发生。

我已经使用 tshark 在服务器上进行了数据包捕获。它非常大,包含 UTF-8 以及机密细节。

如何验证它是有效的 HTTP 1.1 分块响应?

只是为了澄清一下,我查看了结果,tcpick -C -yP -r ...并没有立即看到任何问题,但我想知道是否有任何东西可以通过它来确认它的字节对字节有效。

4

2 回答 2

0

事实证明,sndbuf问题在于 Erlang Web 服务器设置得太低。

这浪费了 5 个小时来扫描数据包捕获、从头开始使用 CFStream 实现分块 HTTP 等等

于 2012-10-08T14:33:51.443 回答
-1

如何验证它是有效的 HTTP 1.1 分块响应?

通过确认是否正确实施了分块传输编码

于 2012-10-08T09:52:38.930 回答