6

サイトのプライベート メッセージング機能に取り組んでいます。ユーザーが新しいメッセージを受信したというプッシュ通知をサーバーから取得する方法はありますか?

私が知っている唯一のテクニックは、ajax 経由でサーバーを常にポーリングして、新しいメッセージがあるかどうかを確認し、必要に応じてメッセンジャー ウィンドウをリロードすることです。

フィードバックをお寄せいただきありがとうございます。

UPD: これまでのところ、次の方向性が特定されています。

1)コメット
2) BOSH - 同期 HTTP を介した双方向ストリーム
3) XMPP - これは Google トークのベースになっているものです

4

4 に答える 4

6

XMPPとBOSHを調べることをお勧めします。非常に彗星のようで、nginxと組み合わせたejabberdは、非常に小さなボックスで数千の接続を維持できます。

私のプロジェクトの1つwww.vooices.usを見て、XMPPとBOSHで何をしたかを確認してください。

http://www.ejabberd.im/

http://github.com/ssoper/jquery-bosh/tree/masterJQueryBosh-HTTP経由でXMPPにすばやく簡単にアクセスできるようにします

セットアップとインストールは比較的簡単です。

ポール。

于 2009-05-11T09:40:16.553 に答える
0

サーバーが情報をクライアントにプッシュする方法はありませんが、常にCometを使用できます。はい、サーバーをポーリングしますが、常にではありません。各接続を約 30 秒間開いたままにし (これは、私が常に使用している間隔です)、必要に応じて新しい接続を開きます。

編集: Adobe Flashはサーバーへの永続的な接続を許可するため、それを使用できます。詳しくはこちらの記事をご覧ください。

于 2009-05-11T08:47:37.920 に答える
0

コメットはおそらくいくつかの便利なものにリンクしているようです (Google の GTalk を調べてください):

http://alex.dojotoolkit.org/2006/02/what-else-is-burried-down-in-the-depths-of-googles-amazing-javascript/

于 2009-05-11T09:28:26.557 に答える
0

これを行うのに役立つ優れたライブラリがたくさんあります

XMPP - BOSH は、私の Web サイトで使用している優れた組み合わせです。

XMPP サーバー

Ejabberd、Openfire 私は ejabberd を使用します

Ejabberd と一緒に Strophe を使用して、javascript で通知をキャプチャできます。コードから通知を送信する場合

これを可能にする JAXL や XMPPHP などのライブラリがありますが、これは PHP です。

于 2011-06-04T11:36:22.857 に答える