• WebSocket与HTTP


    什么是WebSocket:

         首先,WebSocket是一种通信协议,区别于HTTP协议,HTTP协议只能实现客户端请求服务器响应的这种单向通讯

    而WebSocket可以实现客户端与服务器的双向通讯。

    最大优势:

         可以做到服务端主动将消息推送给客户端

    其余特点:

         1、握手阶段采用http协议

         2、数据格式轻量,性能开销小,客户端与服务端进行数据交换时,服务端到客户端的数据包头只有2-10字节,客户端到服务器需要加上另外4字节的掩码。,http每次都要携带完整头部

         3、更好的二进制支持,可以发送文本和二进制数据

         4、没有同源限制,客户端可以与任意服务器进行通信

         5、协议标识符是WS(如果加密,则是WSS),请求的地址就是后端支持WebSocket的API

    与服务端实时通信的方法:

         1、AJAX轮询

         2、Long Polling长轮询

    以上俩种缺点:开销大,被动性,并发高的时候服务器压力很大

         3、WebSocket通信

    连接过程:客户端发起HTTP握手,告诉服务端进行WebSocket协议通讯,并告知WebSocket协议版本,服务端确定协议版本,升级为WebSocket协议。之后如果有数据需要推送,会主动推送给客户端。

    WebSocket API

    客户端若想与支持WebSocket的服务器通信,可以使用WebSocket构造函数返回WebSocket对象

    const test = new WebSocket("ws://localhost:8080/websocket");
    • WebSocket.onopen: 连接成功后的回调
    • WebSocket.onclose: 连接关闭后的回调
    • WebSocket.onerror: 连接失败后的回调
    • WebSocket.onmessage: 客户端接收到服务端数据的回调
    • webSocket.bufferedAmount: 未发送至服务器的二进制字节数
    • WebSocket.binaryType: 使用二进制的数据类型连接
    • WebSocket.protocol : 服务器选择的下属协议
    • WebSocket.url : WebSocket 的绝对路径
    • WebSocket.readyState: 当前连接状态,对应的四个常量

           WebSocket.CONNECTING: 0

           WebSocket.OPEN: 1

           WebSocket.CLOSING: 2

           WebSocket.CLOSED: 3

    方法:

      • WebSocket.close() 关闭当前连接
      • WebSocket.send(data) 向服务器发送数据
  • 相关阅读:
    OSCP Learning Notes Buffer Overflows(3)
    OSCP Learning Notes Buffer Overflows(5)
    OSCP Learning Notes Exploit(3)
    OSCP Learning Notes Exploit(4)
    OSCP Learning Notes Exploit(1)
    OSCP Learning Notes Netcat
    OSCP Learning Notes Buffer Overflows(4)
    OSCP Learning Notes Buffer Overflows(1)
    OSCP Learning Notes Exploit(2)
    C++格式化输出 Learner
  • 原文地址:https://www.cnblogs.com/liyhbk/p/14237274.html
Copyright © 2020-2023  润新知