推送实现

方法 :

    Comet,SSE(服务器发送事件),Web Sockets

1.Comet

    实现方式:长轮询和流;

    长轮询:(断轮询的翻版,段轮询:不管数据有没有用,都直接返回)由页面发起一个到服务器的请求,然后服务器一直保持链接打开,知道有数据可发送。发送完毕,关闭链接,随机,页面又发起新请求。

    HTTP流:浏览器向服务器发送一个请求,服务器保持链接打开,服务器周期性的向浏览器发送数据。在Firefox、safari、Opera、Chrome中通过监听readystatechange事件及检测readyState的值是否为3,就可以利用XHR的实现HTTP流。


2.SSE

    是围绕只读Comet交互推出的API或者模式。


3.Web Sockets

    HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。当你获取 Web Socket 连接后,你可以通过 send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。


    


        

    

    

猜你喜欢

转载自blog.csdn.net/qq_36709020/article/details/80213803