如何在不使用ajax的情况下制作弹出式聊天应用程序

时间:2013-06-08 14:59:17

标签: php javascript ajax

我已经建立了一个约会网站,我在那里使用像facebook这样的一对一聊天应用程序。当一个用户向另一个用户发送任何消息时,它会显示在弹出的聊天框中,但我使用ajax完成了此操作。我使用javascript setInterval函数在每个区间运行。但我认为这个过程不是优化过程。我不希望每次都向服务器发出不必要的请求,而只是在该用户有新消息时触发。有没有其他方法可以做到这样或任何其他协议使用像facebook,gmail这样的大型网站?

4 个答案:

答案 0 :(得分:5)

您可以使用WebSockets执行此操作,但这需要服务器实现和支持它的Web浏览器。

另一种技术是使用Long Polling,但同样需要在客户端和服务器上工作。优点是这是一种跨浏览器兼容的技术。

答案 1 :(得分:0)

我同意Josh认为WebSockets值得研究,但如果您无法访问服务器,则可以使用类似Firebase的内容作为后端。

https://www.firebase.com/index.html

答案 2 :(得分:0)

阅读Long Polling。这是facebook使用的。基本上,您的客户端进行一次Ajax调用,并且在有数据推送到它之前不会返回任何内容。我很确定它需要一些自定义服务器配置,所以如果你在共享主机上开发它不会削减它。如果效率是您想要的,那么长轮询将是正确的,尽管更复杂的方式。

答案 3 :(得分:0)