一位客户报告了一个奇怪的配置文件连接失败:很明显,自从应用程序发布以来,它只在通过CFNetwork的第一个网址请求时失败。
显然,CFNetwork返回的错误代码是域CFStreamErrorHTTP,但错误代码为-4,它并不对应于此域的任何公开定义的错误代码。
在CFHTTPStream.h中,CFStreamErrorHTTP的公开定义错误代码幸运地以-3结尾,强烈暗示-4可能是苹果正在使用的错误代码,但尚未公开记录。
知道这是怎么回事吗?其他人有没有看到这个错误代码并找到它的韵律或原因?
发布于 2011-01-05 03:32:04
这可能不是最终的答案,而且自从他们关闭了源码的CFNetwork后,这可能已经改变了,但我确实在网上找到了以下内容,这表明-4是一个连接丢失错误。
http://www.opensource.apple.com/source/CFNetwork/CFNetwork-129.9/HTTP/CFHTTPConnection.c
发布于 2011-01-05 06:47:45
我猜您将不得不展示一些失败的代码,但有几个问题浮现在脑海中。首先,你能自己追踪这个问题吗,你能重现它吗?特别是,看看这种情况发生在哪个线程上,以及当前的runLoop模式是什么,这将是一件有趣的事情。它可能表示在内部CF运行循环上调度失败的流或连接。
除此之外(遗憾的是CFNetwork不再公开更新),这可能是无数的事情,但如果你不能直接调试失败,你将需要记录尽可能多的信息(提示-- https://github.com/fpillet/NSLogger可以帮助你从客户端远程记录信息)。
最后,在Mac Dev论坛(如果您的代码在iOS上运行,则在Mac论坛或iOS Dev论坛)上提问。平·奎因他什么都知道。一旦他不能公开回答这个问题,打开一个DTS事件并向他发送工单#。他就是你想要调查你的问题的那个人:-)
https://stackoverflow.com/questions/4597500
复制相似问题