WebSocket来实现即时通信

即时通讯,是指客户端和服务器之间在有信息更新时可以立刻把信息,发送给客户端;web

  1、之前实现方式,JS轮询;浏览器

    现不少网站为了实现即时通信,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,而后由服务器返回最新的数据给客户端的浏览器。服务器

    这种传统的HTTP request 的模式带来很明显的缺点 – 浏览器须要不断的向服务器发出请求,然而HTTP request 的header是很是长的,里面包含的有用数据可能只是一个很小的值,这样会占用不少的带宽。websocket

  2、而比较新的技术去作轮询的效果是Comet – 用了AJAX。但这种技术虽然可达到全双工通讯,但依然须要发出请求。socket

  3、在 WebSocket API,浏览器和服务器只须要作一个握手的动做,而后,浏览器和服务器之间就造成了一条快速通道。二者之间就直接能够数据互相传送。在此WebSocket 协议中,为咱们实现即时服务带来了两大好处:网站

    1. Header
      互相沟通的Header是很小的-大概只有 2 Bytes
    2. Server Push
      服务器的推送,服务器再也不被动的接收到浏览器的request以后才返回数据,而是在有新数据时就主动推送给浏览器。
在实现websocket连线过程当中,须要经过浏览器发出websocket连线请求,而后服务器发出回应,这个过程一般称为“握手
相关文章
相关标签/搜索