我有这个网站,我在PHP中的2个用户之间实现了一个非常简单的消息系统(使用CakePHP更准确)。
一切正常,一个用户发送消息而另一个用户收到消息。唯一的问题是第二个用户必须刷新页面才能看到消息。
当第一个用户发送消息时,有什么方法可以告诉第二个用户的浏览器刷新?消息存储在MySQL数据库中。当用户进入消息页面时,我会显示从最后到第一个属于他的所有消息,从数据库中提取它们。
简单的方法是制作一些定期刷新页面的javascript函数,但这不是最好的解决方案,对用户来说可能很烦人。理想情况下,当用户收到新消息时页面应该刷新...
我一直在考虑的另一种方法是对函数进行AJAX调用,以某种方式传递用户进入页面时最后收到的消息的日期时间,然后检查更新的消息,如果为true,则刷新这页纸。如果我设法让它工作,这也不会是坏事,但仍然会在这个页面中暗示其他问题与其他正在发生的事情。
还有其他办法吗?
答案 0 :(得分:3)
查看Socket.io和Node.js.它们允许您执行诸如此类的实时操作,socket.io向后兼容旧版浏览器。