webSocket通信-基本介绍
面试过程中问道了webSocket通信的相关问题,之前理解不深,现在整理下。
主要问题:
- webSocket协议和HTTP协议的区别?为什么使用webSocket通信,简答介绍下WebSocket通信。
- webSocket通信在SpringBoot中使用的时候服务端的几个方法分别是什么?
WebSocket简介
介绍
Websocket是一种网络通信协议,是HTML5开始提供的一种在单个TCP连接上进行全双工通信的协议。
产生原因及特点
HTTP协议是一种无状态、无连接、单向的应用层协议。采用了请求-响应模式进行工作,通信只能由客户端发出请求,服务器做出应答处理。
HTTP协议的缺陷:单向请求,服务器无法主动向客户端推送消息。
如果服务器端状态信息有所改变,客户端要想实时获取,大多需要通过频繁异步的AJAX请求实现长轮询。查询服务器端有没有状态的改变,效率低,浪费资源。
webSocket产生:2008年诞生,最大特点:服务器可以主动向客户端推送消息,客户端也能主动向服务器端发送消息,全双工通信,双向通信。
基本使用
① 建立连接-握手(handshake):浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。
②数据通信:当你获取 Web Socket 连接后,可以通过 send() 方法来向服务器发送数据;通过 onmessage 事件来接收服务器返回的数据。
参考网址:
WebSocket 教程.