1

PHPで2人のユーザー間で非常に単純なメッセージングシステムを実装したこのWebサイトがあります(より正確にはCakePHPを使用しています)。

1 人のユーザーがメッセージを送信し、もう 1 人のユーザーがそれを受信します。唯一の問題は、2 番目のユーザーがメッセージを表示するためにページを更新する必要があることです。

最初のユーザーがメッセージを送信したときに、2 番目のユーザーのブラウザを更新するように指示する方法はありますか? メッセージは MySQL データベースに保存されます。ユーザーがメッセージ ページに移動すると、データベースからそれらを取得して、そのユーザーに属するすべてのメッセージを最後から最初まで表示します。

簡単な方法は、ページを定期的に更新する JavaScript 関数を作成することですが、これは最善の解決策ではなく、ユーザーにとって迷惑になる可能性があります。理想的には、ユーザーが新しいメッセージを受信したときにページを更新する必要があります...

私が考えていた別の方法は、関数への AJAX 呼び出しを行い、ユーザーがページに入ったときに最後に受信したメッセージの日時を何らかの方法で渡し、新しいメッセージをチェックし、真の場合はページを更新することです。これはうまく機能すれば悪くはありませんが、このページで他の問題が発生している可能性があります。

これを行う他の方法はありますか?

4

1 に答える 1

3

Socket.io と Node.js を調べてください。そのようなことをリアルタイムで行うことができ、socket.io は古いブラウザーと下位互換性があります。

于 2012-09-29T20:49:16.857 に答える