方式:
- Polling
- Long-Polling
- SSE
- websocket
Polling – 轮询
顾名思义,就是客户端不断发起请求;
好处:简单
坏处: 不及时,请求频繁会对服务器造成压力
Long-Polling – 长轮询
轮询的进阶版;还是由客户端不断发起请求,不同于轮询定时请求,它是服务器有结果的时候立即返回,没有结果就等待直到有结果或请求超时,客户端在收到结果或请求超时立即发起请求
好处:简单,且在实时性上要优于轮询
坏处:会占用服务器的链接数,类长链接了
SSE – 服务器发送事件
轻量级websocket,单工通信,客户端只能接收消息,服务端只能发送消息
用途:适合用于对消息有较高实时性要求的消息提醒
好处:使用HTTP传输的,自动重连接,event IDs,以及发送随机事件的能力,实时性强
坏处:会长时间占用服务器的链接数,客户端不能发送消息
如果想详细了解,可以查看这篇文章
websocket – socket服务
全双工通信,不在是建立在http协议上了,它是通过http转tcp协议
详细了解可以看一下阮一峰的websocket教程