websocket学习

1. web推送技术的实现

      1.使用ajax轮询

      2.websocket

2. why

     1.http协议具有单向请求的特点,即通信只能由客户端发起;例如:我们浏览一个购物的页面,是客户端或浏览器发出请求,然后服务器才返回数据或页面,http协议做不到服务器主动向客户端发送数据;在http协议下,如果要实现实时推送,就必须一直轮询,这样很浪          费服务器资源和带宽

     2.websocket 服务器可以主动向客户端发送数据,客户端也可以主动向服务器发起请求,是真正平等的对话

3. what

      websocket是html5提供的一种在单个TCP连接上进行全双工通讯的协议;浏览器与服务器只需完成一次握手,就可以快速形成一条持久化的快速通道,进行双向数据传输

      全双工通信:又称双向同时通信,即通信通信双方可以同时发送信息也可以同时接收信息

4. WebSocket API
      1.只读属性

          readyState:表示连接状态(0--未连接 1--已连接,可以通信 2-- 连接正在关闭 3--连接已关闭或连接不能打开)

          bufferedAmount: 以被放在send()队列中等待传输

     2. 事件

         open : 建立连接时触发

         message:客户端接收到服务端数据时触发

         error:通信发生错误时触发

        close :连接关闭时触发

     3. 方法

       send() : 使用连接发送数据

      close() : 关闭连接

 

原文地址:https://www.cnblogs.com/Alaic2052243080/p/14210578.html