Rumah > Soal Jawab > teks badan
像豆瓣这类网站的新鲜事提示是需要刷新页面的
像segmentfault 知乎的提示是不用刷新就提示的
这是在不断的进行接口访问还是怎么。。。
大家讲道理2016-11-07 14:19:36
消息模块,也就是消息的推送,外国人叫他Comet,指一种从服务器向页面推送数据的技术。
有两种实现方式,轮询和流。
1.轮询
轮询分长轮询和短轮询,其他几位回答都是短轮询,比较占游览器和服务器资源。
长轮询是游览器发起一个请求后,服务器一直保持打开,直到有数据发送,游览器接收到数据后,再发起一个请求。怎么实现的呢?jsp我不了解,反正php有sleep神函数。
2.流
流的实现方式大致是服务器接到请求后 先输出一些数据到缓存,然后立刻刷新,等几秒再刷新,游览器只要监听readystatechange事件及检测readState的值是否为3。具体请自行谷歌,毕竟不是一个兼容的解决方案。
另 不考虑兼容的话 还有2个更好的解决方案 SSE 和 web socket.