2016-06-28 16 views
2

私のコードはアマゾンウェブサービスサーバでホストされており、Hathwayインターネットサービスプロバイダ(インド系ISP)を使用しています。 以前、私のコードはHathway ISPと完全に連携していましたが、数日後に私のコードが期待通りに機能していませんでした。私はHathway ISPの別のユーザーから同じコードを実行しようとしましたが、同じ問題に直面しました。私はコードに何か問題があったと思っていましたが、デバッグ後にすべてが完璧だと分かったので、私はいつ他のISPとコードを実行したかを知りました。 Hathway ISPで何が起こっているのですか、複数のリクエストをサーバーに送信しています。 ブラウザは1つのリクエストのみをサーバーに送信します。これはブラウザの[ネットワーク]タブでチェックしましたが、そのサーバーが複数のリクエストを受信して​​いる途中で何が起こっているのかわかりません。 サーバへの複数のリクエストの送信

  1. これは、PHPで書かれて、私は私のコードのいくつかの概要を説明してみましょう
  2. Excelファイルがダウンロードされている
  3. Excelファイルををダウンロード取得するために、それは10から15分かかりますので、
  4. コードは、膨大な計算を持っています私は過度に長い計算に問題があるかもしれないと思う、とISPがそれかどうかをテストするための要求を再送信された要件を見ると

おかげ

+0

を認識していないよ、私は」あなたのISPがあなたのリクエストを改ざんしているならば、あなたはsslを確実に使うべきです。 – jeroen

+0

@jeroen私は他のISPと動作している完璧なコードを持っています。そのプレーンなhttp要求。 sslで試してみる。ありがとう – maheshb

+0

デバッグ情報を添付しますか?ログ –

答えて

1

生きている、またはそれに沿った何か。

  1. ユーザープロセスボタンをクリック:Excelファイルを計算するためにPHPに送信されます
    1.1 Ajaxリクエスト

    理想的には、このようなプロセスでは、あなたがこのような何かをしたいです。

  2. Ajaxリクエストを受信しました。
    2.1ポーリングIDを生成します。
    2.2 exec( 'php calculateExcel.php $ pollingid');
    2.3は、ユーザーに

  3. がポーリングIDに
    3.1要求コンパイルのステータスを受信5秒ごと


  4. 4.1世論調査データベース/ファイル/何でもポーリングidtoによってコンパイルステータス要求を受信したポーリングIDを送信する(this answerを参照してください)コンパイル時の距離を参照してください
    4.2.1。完了していない場合は、パーセントを返します。
    4.3.2。完了したら、ダウンロードリンクを返します

  5. ステータス受信
    5.1を受け取ります。完了していない場合は、ステータスバーを更新してください。
    5.2。完了したら、ステータスバーを削除し、ダウンロードリンクを表示します。

これが私のやり方です。そうすれば、あなたのサーバーは巨大なExcelファイルを幸福に計算することになりますが、ユーザーはブラウザのタイムアウト(ブラウザによっては5分後に切断されることがあります)、Windowsネットワークのリセット/ DNSの再交渉、Wi-Fi切断などを恐れる必要はありません。

ユーザーは、自分のポーリングIDを持っている限り、ステータスを要求したり、ファイルをダウンロードしたりすることができます。

+0

現代のブラウザで彼はまた、Webソケットを使用することがあります。 –

+0

本当ですが、彼は5〜15分のページを使用しているので、私はまず彼のために簡単な提案をしています。ウェブソケットの設定は直接的に簡単ではありません。 – Tschallacka

+0

うんしかし、彼の質問には、仕事が終わっどのくらい ....彼はのようなものへのアクセスを取得すると、Webソケットに歓声 –

0

1回のリクエストでjsonとしてデータを送信することをお勧めします。 PHPでは、再びすべての値にデフラグすることができます。たとえば。

xhttp.open("GET", "gotoChatRoomorNot.php?q=[{"+str+"},{"+user1+"},{"+user2"}]", true); 

とPHPであなたが戻ってあなたのデータを取得するために、これを辿ることができます。How do I extract data from JSON with PHP?

私はあなたがXMLでの行動の同じ種類を行うことができると思いますが、私は、XML

関連する問題