Rumah > Soal Jawab > teks badan
求问比如 segmentfault 的这个消息推送
有消息来的时候小铃铛会有一个红色的数字,点开之后又新的消息,这个不用刷新页面就能实现,而且也不用ajax,该怎么做?
PHP中文网2017-04-11 10:19:24
关于WEB推送刚好我最近在做,可以给你一些方案:
一般来说,如果对于消息的实时性要求不是特别高,比如10秒中检查一次消息也可以接受,这时可以使用最简单的 polling 方案,即每隔一定时间向服务器请求一次接口来获取是否有未读消息,这种方式实现起来相当简单,而且对浏览器的兼容性很好。
还有一种被广泛使用的方式,就是楼上所说的,使用 webSocket,前面已经说很多了,我就不多讲了。
HTML5有一个新的推送标准,SSE(Server-Side Event),可以用来做实时推送,相对websocket来说实现起来更简单,但对浏览器的支持不是太好(现代浏览器都可以支持,但IE和Edge全系不支持)。