我正在为一个学校项目构建一个简单的ajax聊天客户端,并想到了实现这一点的方法,但似乎IMO非常繁琐的方法:
1)用户A发送由服务器端PHP脚本接受并保存到数据库的消息
2)用户B的浏览器定期启动服务器端PHP脚本以检查数据库中是否有用户B的消息.PHP脚本从用户A查找消息并返回它们.
这是正确的方法吗?没有数据库可以实现这两个用户之间的通信吗?
(这是我的第一个web应用程序……如果我在没有浏览器HTTP的情况下进行此操作,我只会创建一个带有持久类的Java程序,该类程序可以侦听TCP套接字,并将消息转发到相应的地址)
解决方法:
是的,您的解决方案足以启动.如果有特定用户的聊天消息,您正在做的是轮询服务器.够好了.
但是如果你想转到下一个级别(可能很难),你可以拥有一个可以将新消息推送到客户端浏览器的服务器.这被称为“彗星”.但它需要大量的服务器资源(如果您的用户群将超过数千).
首先尝试使用您的方法,然后再进行此操作.