Websocket详解
定义
WebSocket一种在单个 TCP 连接上进行全双工通讯的协议,它由通信协议和编程API组成,WebSocket能够在浏览器和服务器之间建立双向连接,以基于事件的方式,赋予浏览器实时通信能力。既然是双向通信,就意味着服务器端和客户端可以同时发送并响应请求,而不再像HTTP的请求和响应。
优点及适用场景
优点:
- 跨域
- 更好的二进制支持。Websocket定义了二进制帧,可以更轻松地处理二进制内容
- 实时性
- 长连接
适用场景:
- 聊天
- 文字直播
- 实时消息推送
- 数据实时更新
API
- 创建Websocket对象:
let ws = new Websocket('ws://localhost:8080')
4个事件对象:
12345678910111213141516171819// 当websocket连接建立成功时ws.addEventListener('open', () => {console.log('websocket 建立连接')})// 当收到服务端的消息时ws.addEventListener('message', (event) => {console.log('获得数据', event.data)})// 当websocket关闭时ws.addEventListener('close', (event) => {console.log("websocket 连接关闭")})// 当出现错误时ws.addEventListener('error', (event) => {console.error("websocket 出现错误")})2个方法:
12345// 发送消息ws.send('hello websocket')// 关闭socketws.close()
封装一个socket组件
|
|