1

一位客户报告了一个奇怪的配置文件的连接失败:它显然只在应用程序启动后通过 CFNetwork 的第一个 URL 请求失败。

CFNetwork 显然返回的错误代码是域 CFStreamErrorHTTP,但错误代码为 -4,它不对应于该域的任何公开定义的错误代码。

在 CFHTTPStream.h 中,公开定义的 CFStreamErrorHTTP 错误代码以 -3 结尾,强烈暗示 -4 可能是 Apple 正在使用但尚未公开记录的错误代码。

知道这里发生了什么吗?有没有其他人看到这个错误代码并找到它的韵律或原因?

4

2 回答 2

3

可能不是最终答案,自从他们关闭源代码 CFNetwork 以来,这可能已经改变,但我确实在网上找到了以下内容,表明 -4 是连接丢失错误。

http://www.opensource.apple.com/source/CFNetwork/CFNetwork-129.9/HTTP/CFHTTPConnection.c

于 2011-01-04T19:32:03.923 回答
0

我想你必须展示一些失败的代码,但我会想到一些问题。首先,你能自己追踪这个问题,你能重现它吗?特别是,看看这发生在哪个线程上以及当前的 runLoop 模式是什么会很有趣。它可能表示流或连接在内部 CF 运行循环上调度失败。

除此之外(很遗憾 CFNetwork 不再公开更新),它可能是数不胜数的事情,但如果您不能直接调试故障,您将需要记录尽可能多的信息(提示提示 - https://github.com/fpillet/NSLogger可以帮助您远程记录来自客户端的信息)。

最后,在 Mac 开发论坛(或 iOS 开发论坛,如果您的代码在 iOS 上运行)提出问题。平奎因,他什么都知道。一旦他无法公开回答问题,请打开 DTS 事件并向他发送故障单#。他是你想调查你的问题的人:-)

于 2011-01-04T22:47:44.560 回答