5

meeboやfacebook、myspaceのようなインスタントメッセージングを行うための本当に良い方法に興味があります。また、ページ上の通知にも興味があります。私のサイトの例では、ユーザーが新しいメールメッセージ、写真コメント、プロフィールコメント、友達リクエストなどを受信すると、jQueryとAJAXを使用しているページに通知メッセージとリンクが表示されます。

私のjqueryコードは基本的にPHPスクリプトを実行して、このスクリプトでページを開いているすべてのユーザーに対して30秒ごとにmysqlテーブルをクエリする必要があるため、これは最善の方法ではないと大規模に信じています。ランニング。効率的な方法がわかれば、Facebookのようなインスタントメッセージを画面下部のチャットバーに追加したいと思います。

CometおよびHTML5WebSocketという用語を聞いたことがありますが、これらがそのような機能のために検討すべきソリューションであるかどうかはわかりません。帯域幅を最小限に抑えたいのですが、トラフィックの多いサイトでは、数秒ごとにクエリを実行するのはあまり効率的ではないようです。

あなたがいくつかの良い解決策を知っているなら、それらがどのように機能するかを少し説明してください

4

4 に答える 4

2

あなたは「comet」サーバーを探しています。PHPについて話しているので、最良のソリューションはWebSync On-DemandなどのSaaSソリューションです。これは、PHPには、開いたままの多数の同時接続に関してスケーリングの問題があるためです。この質問も参照してください。

于 2010-01-20T03:05:24.403 に答える
1

ajaxがクエリできる共有メッセージキューを作成できますか?たぶん、メッセージの大部分をmemcachedに保存するphpスクリプトです(失敗した場合はdbに書き込みます)。

わかりませんが、他の解決策を聞きたいと思っています...

于 2010-01-15T17:19:25.830 に答える
1

FacebookはチャットにXMPPを使用していると思いますので、ご覧ください。

XMPPは

リアルタイム通信用のオープンテクノロジー。インスタントメッセージング、プレゼンス、マルチパーティチャット、音声およびビデオコール、コラボレーション、軽量ミドルウェア、コンテンツシンジケーション、XMLデータの一般化されたルーティングなどの幅広いアプリケーションを強化します。

メッセージングを処理するために別のサーバーをインストールし、アプリに利用可能なライブラリの1つを使用してクライアントを実装します。

于 2010-01-15T23:28:45.543 に答える
0

基本的な問題は、Cometサーバーを実装する(つまり、サーバープッシュを実装する)必要があることです。標準のウェブホストとapacheでは、これを簡単に行うことはできません。別のホストされたソリューション(Web Syncを除く)はGoldfishServerです。現在無料です。

于 2010-01-28T06:07:10.847 に答える