webScoked基础知识

859 阅读2分钟
  1. webscoked出现的背景原因

    网络通讯一般是基于HTTP协议和HTTPS,客户端通过浏览器发出一个请求,服务器接受请求后进行处理并返回结果给客户端,客户端最后处理结果。但是对于实时性,高并发的需求下http与https这种机制就显得效率低,体验很差。在webscoked出现之前,大家都是用的事轮询技术(长轮询, 短轮询)不管是哪种轮询都是实时效性比较低,浪费服务器资源,浪费带宽。Websocked出现后实现客户端服务器双通信,有效的提升的实时性节约资源。

  2. 创建webscoked对象

    var Socket = new WebSocket(url, [protocol] ) 第一个参数 url, 需要连接的服务器端的URL。第二个参数 protocol 是可选的,指定了可接受的子协议(未了解)

  3. Webscoked属性

    Socket.readyState • 0 - 表示连接尚未建立。 • 1 - 表示连接已建立,可以进行通信。 • 2 - 表示连接正在进行关闭。 • 3 - 表示连接已经关闭或者连接不能打开。

  4. Webscoked事件

    事件 事件处理程序 描述 open Socket.onopen 连接建立时触发 message Socket.onmessage 客户端接收服务端数据时触发 error Socket.onerror 通信发生错误时触发 close Socket.onclose 连接关闭时触发

    a、Webscoked建立连接成功并向服务器端发送数据 Socket.onopen = function(evt) { ws.send("Hello WebSockets!") }

    b、发送完数据后,从服务器端接收相应返回的数据 Socket.onmessage = function(evt) { }

    c、与服务器端断开连接后执行的方法 Socket.onclose = function(evt) { }

    d、发生错误或意外情况时调用 Socket. onerror = function(evt) { }

  5. Websocked方法

    方法 描述

    Socket.send() 使用连接发送数据

    Socket.close() 关闭连接

    Socket.send()

    可以发送文本信息以及二进制信息(比如图片或者录音需要处理)