PHPを使用したコメットテクニックの良い簡単な例を教えてもらえますか?
持続的なHTTP接続などを使用する例が必要です。ポーリングテクニックは使いたくありません。そのようなものがセットアップされており、大量のリソースを使用して管理することが難しいだけでなく、また、ApacheではなくIIS7を使用しています。
良い例が本当に役立つので、このいポーリングテクニックから先に進むことができます。
ポーリングを使用するか、優れたJSバックエンドを備えた長いリクエストとCOMET用に特別に考案されたWebサーバーを使用する必要があります。
function listen() {
$.get("/mylongrequestfile", {}, function(data) {
$("#mydiv").html(data);
listen(); // then launch again
}));
};
COMETは「データが返って終了する場合はデータを待機する」ので、JSバックエンドはデータを解析し、サーバーに問い合わせるプロセスを再起動する必要があることに注意してください。
この例では、サーバー側の問題またはユーザー側からの切断のみがある場合、プロセス全体が壊れます(関数は、リクエストが成功した場合にのみ呼び出されます)
これをチェックしてください: PHPでCOMETを実装する方法 。
これはJQueryを使用していません。これはPHPとPrototypeを使用して作成されています。非常に理解しやすいです。これを見てからJQueryスクリプトを簡単に作成できると思います。
ここに非常に単純な例があり、彗星を始めることができます。 NHPMモジュールを使用したNginxのコンパイルについて説明し、jQuery、PHP、およびBashでの単純な発行者/購読者ロールのコードが含まれています。
http://blog.jamieisaacs.com/2010/08/27/comet-with-nginx-and-jquery/
実用的な例(簡単なチャット)はここにあります:
http://cheetah.jamieisaacs.com/
Long Polling(comet)の実装については、このデモビデオをご覧ください。
このテクニックを使用して、トピックに関する Wikipediaの記事 を研究したことがないため、「ロングポーリング」が唯一の実行可能なソリューションのようです。サーバー上でスクリプトを無限にループしてスリープさせることで、実装は非常に簡単に思えます。ウィキペディアの記事からリンクされている HTTPストリーミングページ には 実際のコード があります。
これを試して、特定の問題につまずいたことがありますか?
これをご覧ください 記事 .
2つの例があります。 1つ目はiframeテクニックを使用し、2つ目は永続的な接続を使用します。
IISの場合、 WebSync があります。ただし、PHPを使用しているため、 WebSync On-Demand を使用した方がよい場合があります。どちらを使用しても、探しているサーバープッシュが提供され、簡単に使用できます。 this questio nもチェックしてください。これは基本的にあなたが求めていることです。
WebSync On-Demandの実際の簡単な例noスクリプト言語を使用しています。 2つのウィンドウで開くだけで、パブリッシュ/サブスクライブの動作を確認できます。
サーバーから公開するには、 PHP api を使用できます。