关于WebSocket协议

        WebSocket是单个TCP连接上进行全双工通信的协议

        在WebSocket的API中,客户端与服务器只需要进行一次握手就可以保持持久的连接,并可以双向传输数据

        与HTTP不同的是,WebSocket需要先创建连接,连接成功之后就可以进行通信,而且通信时,请求头部可以减少部分状态信息

        创建WebSocket对象:const  Socket =  new WebSocket(url, [protocol])  url就是需要连接的url,protocol是子协议(可选)

        WebSocket协议的属性,事件与方法有如下:

        属性: readyState (Socket.readyState)

                         0:连接尚未创建

                         1:已创建连接,可以进行通信

                         2:连接正在关闭

                         3:连接已关闭,或连接无法打开

                  bufferedAmount-----只读,表示已被send()放入队列中等待传输,但UTF-8文本字节数未发出

       事件: open (Socket.onopen)   连接建立成功时触发(可以进行数据传输)

                  message (Socket.onmessage)  客户端接受服务器数据时触发 (可以处理服务器传输过来的数据)

                  error (Socket.onerror)  通信发生错误时触发 

                  close (Socket.close)   连接关闭成功时触发

        方法: send() (Socket.send())  客户端与服务器传输数据时使用的方法

                   close() (Socket.close()) 关闭连接

 

         关闭WebSocket连接时,需要客户端与服务器一起断开,可以由客户端发起关闭,也可以由服务器发起关闭

         客户端发起关闭: 由客户端调用close()方法,这个操作会向服务器发起断开连接的请求,服务器接收到这个请求后断开TCP连接

         服务器发起关闭: 由服务器向客户端发起断开连接的请求,这个请求可以传输一些信息过来,比如状态码,客户端会触发close事件,这时就可以调用close()来断开连接了

 

转载于:https://www.cnblogs.com/yezi-dream/p/9539452.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值