对webSocket的理解
对webSocket的理解
WebSocket是一种在单个TCP连接上进行全双工通信的协议。
WebSocket允许客户端与服务器之间进行全双工通信,使得两端可以同时发送和接收数据。这使得可以实时推送数据到客户端,而非客户端轮询服务器进行请求。
WebSocket的一些特点:
建立在TCP协议之上,服务器端的实现比较容易。
与HTTP协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用HTTP协议,因此握手时不容易屏蔽,能通过各种HTTP代理服务器。
数据格式比较轻量,性能开销小,通信高效。
可以发送文本,也可以发送二进制数据。
没有同源限制,客户端可以与任何服务器通信。
协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。
WebSocket的工作流程:
- 客户端使用HTTP请求与服务器建立连接后,连接保持升级为WebSocket连接。
- 连接建立后,客户端和服务器端可以共同发起推送或接收消息,实现全双工通信。
- 任意一端可以选择关闭连接,WebSocket连接完全关闭需要4步握手。WebSocket API使用主要步骤:1. 创建WebSocket对象,指定服务器地址2. 打开连接,回调函数接收连接成功与失败事件3. 使用send()方法发送数据
- 使用message事件接收数据
- 使用close()方法关闭连接
- 监听close事件获取关闭原因WebSocket已经被广泛应用于游戏,社交,股票交易等方向。