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 Dev Forums (コードが iOS で実行される場合は iOS Dev Forums) で質問してください。ピン・クイン、彼はそれをすべて知っています. 彼が質問に公に答えることができなくなったら、DTS インシデントを開いてチケット # を送ってください。彼はあなたがあなたの問題を調べたい人です:-)

于 2011-01-04T22:47:44.560 に答える