发布评论
评论(6)
这里的关键点,是要“服务器主动推送”,而我们使用的普通ajax结构都是客户端问,服务器才会答。
新浪微博使用的消息提醒机制,应该是基于,或者类似于Comet的这种HTTP长连接技术。
如果单纯基于普通的ajax,由客户端定时发起询问请求,由服务器来答,这种结构时效性不强,而且不断的发HTTP包,一方面增加了流量开支,另一方面也增加了服务器负荷。
而Comet这种长轮询,可以以长“心跳包”的形式来跟服务器交互,当有新消息时,再由客户端请求,进而获取具体是什么新消息。
IBM的开发社区里有一篇介绍Comet的文章,讲述的很详细,我就不复述了
IBM社区《Comet:基于 HTTP 长连接的“服务器推”技术》
如果你的需求是要求服务器推送,而且不用考虑浏览器兼容性,并且客户浏览器支持HTML5中的SSE,Server-sent-event,也就是“服务器发送事件”的话,也可以考虑采用他,制作起来比Comet要简单很多,效果也要好很多
MDN上有一篇介绍SSE的文章
MDN《使用服务器发送事件》
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
应该保持长连接,然后进行推送把,具体也不太清楚