3

私が直面している状況は次のとおりです。

私はphp + mysql Webアプリケーションを持っています。複数のユーザーが同じデータベース内のリソースを共有します。データベース レコードの変更 (作成、更新、または削除) があるたびに、他のユーザーに即座に通知される機能を実装したいと考えています。

ajax push engine (APE) の使用を検討していますが、全体像がわかりません。

(1) last_update タイムスタンプを常にチェックし、新しい変更が検出されたときにクライアントに通知を送信するスクリプトが必要なようなものですか?

また

(2) データベーステーブルに対して何らかの操作を実行した後、毎回クライアントに通知を送信し、データをリロードするように指示しますか?

どちらが優れているか、またはこれを実装する方法に関する他の提案はありますか?

前もって感謝します!

4

2 に答える 2

2

最良のオプションは #2 です。変更が発生しているときにデータベースに書き込むとき、つまりプッシュする必要があります。

class DatabaseModel
{
    ...

    function save($data)
    {
        ... // your db query

        after_save();
    }

    function after_save()
    {
        // push changes out using some other object 
        // e.g. MyPushClass::something_changed($this);
    }
}
于 2011-02-15T05:10:14.233 に答える
1

cometこれにはライブラリを使用できます。

http://ajaxian.com/archives/comet-with-php

http://www.zeitoun.net/articles/comet_and_php/start

于 2011-02-15T05:04:39.057 に答える