8

Web サーバーからフロント エンドへのデータのリロードに関して、「進むべき道」(つまり、最も効率的で、最も使用され、一般的に受け入れられている方法) を探しています。最終的なアプリケーションでは、データを書き込む必要がある出力フィールドがいくつかあります。たとえば、次のようになります。

ここに画像の説明を入力

データ ストリームは、エンド アプリケーションで互いに異なります。ラインは、サーバーからの最新の最新データでリロードする必要があります。

Ajax リクエストを使用して毎秒更新することを考えていましたが、これを行うには別の方法が必要です。Ajax リクエストは大量のデータ トラフィックを引き起こします。また、Facebook チャットを使用すると、毎秒待つ必要がなく、チャットはほぼ瞬時に受信されます。それでも、Mozilla Firefox の開発者ツールを使用すると、Ajax ポーリング リクエストが行われることはありません。これは、これを行う別の方法があるかどうかを考えさせられました。

Node.js を調べましたが、私のホストでは不可能なようです。

人々が Ajax Push について話しているのを聞いたことがありますが、それを使用する必要がありますか? もしそうなら、基本的な使用例を教えてもらえますか?

そうでない場合、1 秒以内に複数のデータ ストリームをリロードする必要がある場合、どうすればよいでしょうか?

要件は、速度低データ トラフィックです。したがって、サーバーを継続的にポーリングすることはオプションではないと思います。これは、膨大なオーバーヘッドが発生するためです。

重要ではないと思いますが、バックエンドで PHP5.3 を使用し、フロントエンドで jQuery 1.9.1 を使用した JavaScript を使用しています。

4

2 に答える 2

8

この質問は何度も聞かれましたが、少し異なる方法でした。読む価値のあるいくつかのリファレンスを次に示します。

要約すると、Apache で PHP を使用してソリューションを構築しようとしている場合、永続的な接続 (HTTP ロングポーリングまたはストリーミング) を開いたままにしておくと、リソースがすぐに使い果たされます (非常に非効率的です)。そのため、ホストされたソリューションを使用することをお勧めします(*免責事項 - 私はホストされたソリューションで働いています)。

HTTP ロング ポーリングと HTTP ストリーミングは、Server-Sent Events と WebSocket に取って代わられたソリューションです。したがって、可能であれば (Web クライアントがサポートを提供する場合)、HTTP ベースのソリューションに戻る前に、これらのソリューションのいずれかを使用する必要があります。優れたリアルタイム Web テクノロジは、これを自動的に処理します。

この図は、複数のデータ ストリームをサブスクライブしていることを示しているため、これに自然に適合するパブリッシュ/サブスクライブ ソリューションも検討する必要があります。繰り返しますが、優れたリアルタイム Web 技術ソリューションがこれを提供します。

リアルタイム Web テクノロジー ガイドも参照してください。

于 2013-04-23T14:20:06.817 に答える