Socket.io基础知识(一)
(一)。socket.io提供了基于事件的实时双向通讯
Web端与服务端实时数据传输方式:
1.Ajax轮询方式(最早应用)
原理:设置定时器,定时通过Ajax同步服务器数据。
缺点:存在延时且对服务端造成很大负载
2.WebSocket
一种基于TCP套接字进行收发数据的协议。
注:socket.io将数据传输部分独立出来形成了engine.io , engine.io对WebSocket和AJAX轮询进行封装,形成一套API,屏蔽了细节差异和兼容性问题,实现了跨浏览器/跨设备进行双向数据。
应用场景:
- 实时数据分析展示(报表,日志)
- 即时通讯、聊天,
- 二进制流(图片,音乐,视频)传输
- 多人协同编辑
- 即时消息推送