我有这个网站,我在 PHP 中实现了 2 个用户之间的一个非常简单的消息传递系统(使用 CakePHP 更准确)。
一切正常,一个用户发送消息,另一个用户接收它。唯一的问题是第二个用户必须刷新页面才能看到消息。
当第一个用户发送消息时,有什么方法可以告诉第二个用户的浏览器刷新?消息存储在 MySQL 数据库中。当用户进入消息传递页面时,我会显示属于他的从最后到第一条的所有消息,并将它们从数据库中提取出来。
简单的方法是制作一些定期刷新页面的 javascript 函数,但这不是最好的解决方案,并且可能会让用户感到烦恼。理想情况下,当用户收到新消息时,页面应该刷新......
我一直在考虑的另一种方法是对函数进行 AJAX 调用,以某种方式传递用户进入页面时最后收到的消息的日期时间,然后检查是否有新消息,如果为真,则刷新页面。如果我设法让它工作,这不会是坏事,但仍然会暗示这个页面中的其他问题与其他正在发生的事情。
有没有其他方法可以做到这一点?