web-dev-qa-db-ja.com

phpとjqueryを使用した単純な彗星の例

PHPを使用したコメットテクニックの良い簡単な例を教えてもらえますか?

持続的なHTTP接続などを使用する例が必要です。ポーリングテクニックは使いたくありません。そのようなものがセットアップされており、大量のリソースを使用して管理することが難しいだけでなく、また、ApacheではなくIIS7を使用しています。

良い例が本当に役立つので、このいポーリングテクニックから先に進むことができます。

34
Ray

ポーリングを使用するか、優れたJSバックエンドを備えた長いリクエストとCOMET用に特別に考案されたWebサーバーを使用する必要があります。

function listen() {
    $.get("/mylongrequestfile", {}, function(data) {
        $("#mydiv").html(data);
        listen(); // then launch again
    }));
};

COMETは「データが返って終了する場合はデータを待機する」ので、JSバックエンドはデータを解析し、サーバーに問い合わせるプロセスを再起動する必要があることに注意してください。

この例では、サーバー側の問題またはユーザー側からの切断のみがある場合、プロセス全体が壊れます(関数は、リクエストが成功した場合にのみ呼び出されます)

14
Adrián Navarro

これをチェックしてください: PHPでCOMETを実装する方法
これはJQueryを使用していません。これはPHPとPrototypeを使用して作成されています。非常に理解しやすいです。これを見てからJQueryスクリプトを簡単に作成できると思います。

6
chanchal1987

ここに非常に単純な例があり、彗星を始めることができます。 NHPMモジュールを使用したNginxのコンパイルについて説明し、jQuery、PHP、およびBashでの単純な発行者/購読者ロールのコードが含まれています。

http://blog.jamieisaacs.com/2010/08/27/comet-with-nginx-and-jquery/

実用的な例(簡単なチャット)はここにあります:
http://cheetah.jamieisaacs.com/

3
Jamie

Long Polling(comet)の実装については、このデモビデオをご覧ください。

http://www.screenr.com/SNH

2
nitin

このテクニックを使用して、トピックに関する Wikipediaの記事 を研究したことがないため、「ロングポーリング」が唯一の実行可能なソリューションのようです。サーバー上でスクリプトを無限にループしてスリープさせることで、実装は非常に簡単に思えます。ウィキペディアの記事からリンクされている HTTPストリーミングページ には 実際のコード があります。

これを試して、特定の問題につまずいたことがありますか?

2
deceze

これをご覧ください 記事 .

2つの例があります。 1つ目はiframeテクニックを使用し、2つ目は永続的な接続を使用します。

1
dasilvj

IISの場合、 WebSync があります。ただし、PHPを使用しているため、 WebSync On-Demand を使用した方がよい場合があります。どちらを使用しても、探しているサーバープッシュが提供され、簡単に使用できます。 this questio nもチェックしてください。これは基本的にあなたが求めていることです。

WebSync On-Demandの実際の簡単な例noスクリプト言語を使用しています。 2つのウィンドウで開くだけで、パブリッシュ/サブスクライブの動作を確認できます。

サーバーから公開するには、 PHP api を使用できます。

0
jvenema