我正在为一个学校项目构建一个简单的ajax聊天客户端,并考虑了一种实现这一点的方法,但它似乎是一种非常麻烦的方法:
1)用户A发送的消息被服务器端php脚本接受并保存到数据库
2)用户B的浏览器定期启动服务器端的php脚本,检查数据库中是否有b用户的消息,php脚本查找a用户的消息并返回。
这是正确的方法吗?在没有数据库的情况下,这两个用户之间的通信可以实现吗?
(这是我的第一个Web应用程序……如果我在没有浏览器+HTTP的情况下这样做,我只会制作一个Java程序,它具有在TCP套接字上监听的持久类,并将消息转发到适当的地址)
最佳答案
是的,你的解决方案已经足够好了。您要做的是轮询服务器是否有针对特定用户的聊天消息。够好了。
但如果你想进入下一个层次(可能会很难),你可以有一个服务器,可以将新消息推送到客户端浏览器上。这叫做“彗星”。但它将需要大量的服务器资源(如果您的用户基数将超过数千)。
先试试你的方法,然后再做这个。