[TOC]
1、Websocket解决什么问题?
1.1、如何即使获取更新?
![image-20220813182212662](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813182212662.png)
1.2、如何分析Websocket
![image-20220813182649381](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813182649381.png)
1.3、定义
![image-20220813182958124](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813182958124.png)
2、Websocket的约束
2.1、Websocket的成本
![image-20220813183539131](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813183539131.png)
![image-20220813184000955](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813184000955.png)
![image-20220813184052353](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813184052353.png)
2.2、设计哲学
![image-20220813184115532](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813184115532.png)
3、Websocket协议格式
![image-20220813184344064](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813184344064.png)
![image-20220813184959440](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813184959440.png)
![image-20220813185012044](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813185012044.png)
![image-20220813185146477](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813185146477.png)
4、Websocket协议如何从HTTP升级?
4.1、提供的消息
![image-20220813185305956](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813185305956.png)
4.2、建立握手
![image-20220813185636652](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813185636652.png)
4.3、如何验证成功连接?
![image-20220813185841585](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813185841585.png)
5、传递消息的编码格式
5.1、定义
![image-20220813190052971](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813190052971.png)
![image-20220813191402368](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813191402368.png)
5.2、帧的长度
![image-20220813191624615](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813191624615.png)
5.3、发送消息
![image-20220813192052277](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813192052277.png)
6、掩码处理
6.1、为什么?
![image-20220813192251313](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813192251313.png)
6.2、定义
![image-20220813194103292](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813194103292.png)
6.3、原理
![image-20220813194123218](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813194123218.png)
7、如何维护会话?
![image-20220813194409362](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813194409362.png)
8、如何关闭会话?
![image-20220813194608277](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813194608277.png)
![image-20220813194616116](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813194616116.png)
![image-20220813194622025](/mei_you_ni_dong/doc/raw/ce7469559dfd2b2447b35f4c31ac7b539f183d62/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813194622025.png)