WebSocket通信的握手阶段
1. 客户端建立连接时,通过 http 发起请求报文,报文表示请求服务器端升级协议为 WebSocket,与普通的 http 请求协议略有区别的部分在于如下的这些协议头:
上述两个字段表示请求服务器端升级协议为 websocket 协议。
2. 服务器端响应客户端,告诉客户端正在更换协议(状态码为 101),更新应用层协议为 websocket 协议,并在当前的套接字连接上应用新的协议。
3. 一旦 websocket 握手成功,服务端与客户端将会呈现对等的效果,都能接收和发送消息,当前连接将不再进行 http 的交互,而是开始 websocket 的数据帧协议,实现客户端与服务器端的数据交互。
客户端代码示例:
服务端使用到了 Node 的 express ,还需要借助 nodejs-websocket 包,代码示例如下:
连接建立成功后,前后端就可以愉快的进行通信了。