# websocket介绍
现在,很多网站为了实现推送技术,所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。

所以单向请求的缺点:
- 无法监听连续状态变化 (HTTP无状态)
- 效率低
- 浪费资源
HTML5 定义的 WebSocket 协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。
Websocket的常见应用:
- 聊天室
- 消息系统:推送消息、实况、股票基金等实时变化的数据
- 点赞
- 直播评论(弹幕)
- 游戏
- 协同编辑/编辑
- 基于位置的应用
- 在线教育(多媒体聊天、文字消息)
# 本课程的学习路径:
- 了解Websocket基本概念 what
- 了解Websocket工作原理(解决的问题)Why
- 搭建Websocket服务 how
- 学习Websocket的基本使用 how
- 具体的Websocket应用(消息应用)
# 本课程的学习目标:
- 了解websocket基本工作原理
- 学会搭建websocket nodejs的服务端
- 学习使用websocket客户端
- 掌握常见的websocket方法、事件、属性
- 学生聊天室应用的编写
# 本课程的学习准备:
Linux服务器,或者虚拟机(Centos 7.x),安装Docker服务参见:https://www.daocloud.io/mirror (opens new window)
域名:可以方便后面配置WSS,开发一些WSS的应用,比如小程序