实现即时通信 记录
浏览器如何实现即时通讯 --> websocket
-
即时通讯方案:短轮询(历史),长轮询(历史),SSE,websocket
-
短轮询:开个定时器,每隔一段时间发送请求(实时性不好)
-
长轮询:发送一个请求,服务器只要数据不更新,就一直阻塞(服务器压力过大)
-
SSE:服务端推送事件,它是一种基于http协议,允许服务端向客户端推送新数据的html5技术。
-
优点:基于http。无需太多该制造就能使用,相比websocket要简单一些
-
缺点:基于文本传输,效率没有websocket高,基于http协议,不是严格的双向通信
-
-
websocket:这是基于tcp协议的全新,独立的协议,作用是在服务端和客户端之间建立实时的双向通信
-
优点:真正意义上的双向实时通信,性能好,演示低
-
缺点:由于是独立于http的协议,因此要使用的话需要对项目改造
-
使用websocket实现双向通信:node + js
-