2016-09-13 7 views
1

ボタンを押したときにNSURLSessionを使用してアプリケーションから私のサーバーにデータをポストしています。私は正常に私のサーバーにデータを送信し、最初の2つの機会のために、データベースに挿入することができますが、その後はいつでも、要求はタイムアウトします。NSURLSession - 要求がタイムアウトしました

私は試しました:セッション構成の変更(ホストごとの接続、timeoutIntervalなど)、セッション構成の種類、データの投稿方法の変更。

誰もこの種の動作を以前に見て、この問題をどのように修正できるかを知っていますか?

それはサーバーの問題ですか?私は私のサーバーが最初に落ちたと思った。私はそれに接続することも、特定のページを読み込むこともできませんでした。しかし、それは私のためだけだった。私のモデムをリブートした後、私はサーバに接続することができました。私はphpMyAdminに接続する際に何の問題もありませんでした。

+1

Show.Your.Code。 – vadian

答えて

0

ルータの再起動後に問題が再現可能であれば、Appleのキャプティブポータルテストサーバがダウンしていたかどうかを調べます。

それ以外の場合は、あなたのアプリに固有のものではなく、ネットワークの問題であるという疑いがあります。

  • 正常に読み込んでいたページがキャッシュから来ている可能性があります。

  • モデムを再起動すると問題が解決したため、モデムがDHCP要求またはDNS検索(ドメインまたはキャプティブポータルテストドメインのいずれか)に応答しなくなった可能性があります。

  • パケットロスの問題が発生している可能性があります。また、ルータが起動して動作している時間が長くなるほど悪化する可能性があります。これにより、一部の要求が完了し、他の要求が失敗する可能性があります。

  • ICMPがあまりにも積極的にブロックされている場合、時々、これと似たような奇妙な動作が見られることがあります。

  • ステートフルなファイアウォールが心を失って状態を忘れたときにもこれを見てきました。

  • これはまた、ファイアウォールは、接続がリモートエンドによって閉鎖されたことを通知パケットをブロックしている場合、サーバーは、あきらめて接続を切断した時点を過ぎて生きているHTTP/HTTPS接続を保つことが原因で発生することができ。

しかし、パケットトレースなしでは、特定の方法はありません。

  • ネットワークコードがOS Xで実行されている場合は、ネットワークインターフェイスでtcpdumpを使用してください。

  • iOSでこれを行う場合は、コンピュータを有線イーサネット経由で接続し、Wi-Fi経由でネットワーク共有を有効にし、ブリッジインターフェイスでtcpdumpを指差し、Wi-Fiネットワーク。戻って来ない、そしてもっと重要なのは、彼らは要求の種類、そして誰が彼らに返信する責任があるんことを外出の要求がある場合は

いずれかの方法で、それはあなたを教えてくれます。その情報が得られたら、問題の原因が明らかでない場合は、パケットトレースへのリンクを投稿し、提案を追加します。

関連する問題