客户使用奇怪的个人资料报告连接失败:自应用程序启动以来,显然只有通过CFNetwork的第一个URL请求失败。
CFNetwork显然返回的错误代码是域CFStreamErrorHTTP,但错误代码为-4,与该域的任何公开定义的错误代码都不对应。
在CFHTTPStream.h中,公开定义的CFStreamErrorHTTP错误代码以-3结尾,强烈暗示-4可能是Apple正在使用的错误代码,但尚未公开记录。
知道这里发生了什么吗?有没有人看过这个错误代码并找到了押韵或原因?
答案 0 :(得分:3)
可能不是最终的答案,这可能已经改变,因为他们关闭了源CFNetwork,但我确实发现以下在线,这表明-4是连接丢失错误。
http://www.opensource.apple.com/source/CFNetwork/CFNetwork-129.9/HTTP/CFHTTPConnection.c
答案 1 :(得分:0)
我想你必须展示一些失败的代码,但是我想到了一些问题。首先,你能自己追踪这个问题吗,你可以重现吗?特别是,看看这种情况发生在哪个线程以及当前的runLoop模式是多么有趣。它可能表示在内部CF runloops上调度失败的流或连接。
除此之外(并且很遗憾CFNetwork不再公开更新),它可能是一件大事,但如果你不能直接调试失败,你需要记录尽可能多的信息(提示)提示 - https://github.com/fpillet/NSLogger可以帮助您远程记录客户端的信息。
最后,在Mac Dev论坛(或iOS开发论坛,如果您的代码在iOS上运行)上提问。 Ping Quinn,他知道一切。一旦他不能公开回答这个问题,就打开一个DTS事件并给他发票#。他是你想要研究你的问题的人: - )