0

重複の可能性:
チャットで全員にリアルタイムで「ユーザーが入力中」の通知を行う方法

私は PHP MySQL jQuery/Ajax チャットを開発しており、ユーザーが入力しているようないくつかのファンシーな機能でそれを拡張しようとしています... メッセージ

サーバーユーザーにメッセージを入力していることを通知するリクエストの作成方法を説明しているトピックユーザーがたくさん見つかりましたが、それは問題ではありません。次のステップで助けが必要です:)サーバーを使用して、クライアントからクライアントへのisTyping変数の「ハンドオーバー」を行う方法は? 不要なデータでDBエンジンを圧倒する可能性があるため、保存を避けたいと思います。サーバーのRAMを使用するだけでこれを行う方法はありますか? このデータは重要ではないため、失われる可能性は大したことではありません。Memcached もオプションですが、お勧めしません。

事前にTnx

4

1 に答える 1

4

私の意見では、PHP/MySQL はチャットを開発するための適切なスタックではありません。

これは、そのようなスタックがステートレスであり、ユーザー イベントを追跡できないためです。実際には、セッションとデータベースを利用することもできますが、これは、状態の変更を取得するためにクライアントからのポーリングを継続することを意味し、次のことを意味します。

  • 新しいメッセージはありますか?
  • ねえ、私への新しいメッセージはありますか?
  • 親切に、私へのメッセージがあれば教えてください。

最も優れたアプローチは、node.jsを介してsocket.ioを使用することです。簡単に言えば、クライアントとサーバーの間に [WebSockets、長いポーリングなどの手法を使用して] 永続的な接続があり、すべてのイベント リスナーの簡単なセットアップになります。アプリケーションの側面。

ここで実際の例を見つけることができます

于 2012-09-07T19:39:46.737 に答える