1

php: 私の質問は、LAMP (Linux、Apache、mysql、php) と html を使用して、サーバー上で共有ホスティングを使用して開発したいプロジェクトに関するものです。

ユーザーが<input type="text">自分のWebページに数字を入力し、「結果を取得」をクリックして結果を取得する(別のページに表示するか、ajaxリクエストを使用するなど)。

結果の計算には最大 24 時間かかります。ユーザーのブラウザが最大 24 時間待機するようなプロジェクトを作成することは可能ですか? 共有ホスティングを使用している場合、ユーザーのブラウザーとサーバー間の対話に制限はありますか? つまり、24時間以内に制限されていますか?

このプロジェクトを試してみるべきですか、それとも別のテクノロジを使用して作成した方がよいでしょうか?

4

4 に答える 4

1

技術的には、はい、ajax long-polling を実行できます。要求は、応答が生成されてユーザーに返されるまで、必要な限り (Web サーバーのリソースを消費して) 開いたままになります。それが良い考えであるかどうかにかかわらず... ユーザーがブラウザ ウィンドウをそれほど長く開いたままにしておくことは期待できません。そして、それはたった1つの理由です。

于 2013-07-26T19:56:29.667 に答える
1

UX の観点からは、これは現実的ではありません。

クライアントをそれほど長く待機させることは可能かもしれませんが、Web サーバー、クライアント ブラウザー、クライアント オペレーティング システム、および中間プロキシ サーバーでタイムアウトの問題が発生することは避けられません。TCP は、接続をそれほど長く開いたままにするようには設計されていません。

代わりに、リクエストを受け入れてヘッダーHTTP/1.0 202 Acceptedを返して、リクエストが成功して処理されたことを示してから、プッシュ通知 (電子メールなど) を送信するか、定期的に更新できるステータス ページをユーザーに確認させる必要があります。

于 2013-07-26T21:04:22.087 に答える
1

数値を入力したときのタイムスタンプを保存し、サーバーで応答を計算すると、ブラウザーとサーバーの両方で簡単になります。

その後、ajax ポーリングを使用して、24 時間が経過したかどうかを確認できます。この場合、サーバー プッシュはお勧めしません。ブラウザーを長時間開いたままにしたくないからです。

于 2013-07-26T19:59:44.383 に答える