PHPで2人のユーザー間で非常に単純なメッセージングシステムを実装したこのWebサイトがあります(より正確にはCakePHPを使用しています)。
1 人のユーザーがメッセージを送信し、もう 1 人のユーザーがそれを受信します。唯一の問題は、2 番目のユーザーがメッセージを表示するためにページを更新する必要があることです。
最初のユーザーがメッセージを送信したときに、2 番目のユーザーのブラウザを更新するように指示する方法はありますか? メッセージは MySQL データベースに保存されます。ユーザーがメッセージ ページに移動すると、データベースからそれらを取得して、そのユーザーに属するすべてのメッセージを最後から最初まで表示します。
簡単な方法は、ページを定期的に更新する JavaScript 関数を作成することですが、これは最善の解決策ではなく、ユーザーにとって迷惑になる可能性があります。理想的には、ユーザーが新しいメッセージを受信したときにページを更新する必要があります...
私が考えていた別の方法は、関数への AJAX 呼び出しを行い、ユーザーがページに入ったときに最後に受信したメッセージの日時を何らかの方法で渡し、新しいメッセージをチェックし、真の場合はページを更新することです。これはうまく機能すれば悪くはありませんが、このページで他の問題が発生している可能性があります。
これを行う他の方法はありますか?