2011-01-04 14 views
1

顧客が奇妙なプロファイルで接続エラーを報告しています。アプリが起動してからCFNetworkを介した最初のURLリクエストが失敗するように見えます。ドメインCFStreamErrorHTTPのCFNetworkエラー-4は何を意味しますか?

CFNetworkによって明らかに返されたエラーコードはドメインCFStreamErrorHTTPですが、このドメインの公的に定義されたエラーコードに対応しないエラーコード-4が付いています。

CFHTTPStream.hでは、CFStreamErrorHTTPの公的に定義されたエラーコードは-3でうまく終わり、-4がAppleが使用しているがまだ公開されていないエラーコードであることを強く示唆しています。

ここで何が起こっているのでしょうか?誰かがこのエラーコードを見て、韻や理由を見つけましたか?

+1

彼らはどのようにインターネットに接続していますか?もしそれがCLEARまたは4G何かか他のものを介しているのであれば、それらのモデムは再接続中に要求を破棄するでしょうか? – atebits

+0

彼らは普通のISP ISPに接続しています。私はそれが第三者のソフトウェアと関係があるかどうか疑問に思います。リトル・スニッチのように。それらと一緒に点検する。 – danielpunkass

答えて

3

おそらく最終回答ではなく、ソースCFNetworkをクローズしてから変更されている可能性がありますが、-4が接続失われたエラーであることを示す次のオンラインが見つかりました。

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

+0

ありがとう!それは良い発見であり、顧客が見ているものと記述に対応しています。今すぐ接続が最初の試行で失われる理由を理解することができたら... – danielpunkass

+0

友人からも指摘されているこの古いMacNetworkProgの投稿:http://lists.apple.com/archives/macnetworkprog/2009/Mar /msg00007.html – danielpunkass

+0

アプリが起動する前に閉鎖されていたVPNの種類がありますか?より一般的には、アプリ起動時のデバイス/ Macはどのような条件ですか? – madninja

0

私はあなたが失敗のコードの一部を表示する必要がありますね、しかし、いくつかの質問には、心に春。まず、この問題を自分で追跡できますか?それを再現できますか?特に、これはどのスレッドで発生するのか、現在のrunLoopモードは何かを知ることは興味深いでしょう。これは、内部のCFランループでスケジューリングが失敗するストリームまたは接続を示す可能性があります。

これ以外(CFNetworkは一般公開されていません)、これは膨大なものですが、障害を直接デバッグできない場合はできるだけ多くの情報を記録する必要がありますヒントヒント - https://github.com/fpillet/NSLoggerは、クライアントからの情報のリモートログに役立ちます)。

最後に、Mac Dev Forums(iOSでコードが実行されている場合はiOS Dev Forums)で質問してください。 Ping Quinn、彼はそれをすべて知っている。公式に質問に答えることができない場合は、DTSの事件を開き、チケット#を送ってください。彼はあなたの問題を調べたい人です:-)

+0

また、クライアントに同じマシンで(つまり、公共のWifiホットスポットから、または別の場所で)別の接続設定を試行させるようにしてください。それが機能するならば、この特定のネットワーク構成に問題を回避することができます。また、SSLを使用している場合は、コードが署名されていることを確認してください。 – fpillet

関連する問題