前言
WebSocket协议可能是另外一个我们前端可能经常接触到的网络协议吧。 这点我也有一些体会,比如说之前学校短学期的项目有过一个消息推送的需求就要用到webScoket协议。 参考文章 了解webScoekt
正文
WebSocket和HTTP协议一样同属于应用层的网络协议,也都是用于客户端——服务器通信。
- 特点
- 以ws://或wss://开头,大部分浏览器支持
- 有状态协议,连接将保持活动状态直到被某一方终止
- 双向,全双工协议
- 在通过客户端和服务器中的任何一方关闭连接之后,连接将从两端终止
- 可以由服务端主动推送给客户端消息
- 适用场景
- 即时Web应用程序:如交易网站或比特币交易这种需要实时显示价格的场景
- 游戏应用程序:实时交互数据,服务器推送数据给客户端用于动态渲染的场景
- 聊天应用程序:聊天应用程序仅使用WebSocket建立一次连接,便能在订阅户之间交换,发布和广播消息,用于实时通讯的场景。
- 弹幕:通过 WebSocket 协议可将本地客户端发送的弹幕信息通过服务端全部推送至其他用户的客户端并进行实时展示。
- 总结:几乎所有实时应用程序如交易,监视,通知服务都会使用websocket在单个通信通道上接收数据。