我已经编写了一个小型的Web应用程序,该应用程序基本上是浏览器中基于JQuery的聊天客户端,要获取我正在使用AJAX请求对服务器进行轮询然后附加任何新回复的帖子,我担心使其效率如此之高尽可能避免失去实时感。
http://darklightweb.co.uk/RealTime/
我看不到任何可能的中断方式,因此我每5秒钟轮询一个页面,如果没有新的帖子可用于保持数据空闲(如果确实有空闲),则该页面不返回任何内容;队列已发送出去,我将在Ajax请求完成后立即再次检查,直到消息队列为空。
关于使带宽尽可能低或其他替代实现方式的其他建议?
轮询可能不是实现聊天的最佳解决方案- 我建议您看一下JQuery的COMET 实现,该实现保持与客户端的开放连接并“向下”推送服务器的更新,并且具有相当的可伸缩性。