Skip to content

Latest commit

 

History

History
36 lines (25 loc) · 2.23 KB

9-14_v-weChat.md

File metadata and controls

36 lines (25 loc) · 2.23 KB

Websocket 即时通讯

Websocket 是应用层第七层上的一个应用层协议,它必须依赖【HTTP 协议进行一次握手】 ,握手成功后,数据就直接从 TCP 通道传输,此后与 HTTP 无关了。

即:Websocket 分为【握手】和【数据传输】阶段,即进行了HTTP握手 + 双工的TCP连接。连接一旦建立,客户端和服务端之间实时可以进行双向数据传输。

Websocket 其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上的一种补充。

标签 内容
【!!!!】WebSocket / 知乎见解 --/-- WebSocket介绍 / 掘金 【!!!!】 滚动条自动置底 --/-- WebSocket 消息通知
——
【!!!!】面试简介 / 特点

应用场景

关于对其理解介绍 --|-- Git 练习模板地址

理解: Websocket 约定了一个通信的规范,通过一个握手的机制,客户端和服务器之间能建立一个类似 tcp 的连接,从而方便它们之间的通信。在websocket出现之前,web交互一般是基于http协议的短连接或者长连接。websocket是一种全新的协议,不属于http无状态协议,协议名为"ws"。

场景:

客户端:啦啦啦,我要建立Websocket协议,需要的服务:chat,Websocket协议版本:17(HTTP Request)
服务端:ok,确认,已升级为Websocket协议(HTTP Protocols Switched)
客户端:麻烦你有信息的时候推送给我噢。。
服务端:ok,有的时候会告诉你的。
服务端:balabalabalabala
服务端:balabalabalabala
服务端:哈哈哈哈哈啊哈哈哈哈
服务端:笑死我了哈哈哈哈哈哈哈

这样,只需要经过一次HTTP请求,就可以做到源源不断的信息传送了。解决了同步有延迟,而且还非常消耗资源的这种情况。