除了SSE和WebSocket,还有哪些技术可以实现实时推送?

3 min read

除了SSE和WebSocket,还有以下的技术可以实现实时推送:

1.长轮询(Long Polling):将HTTP请求等待一段时间,直到服务器有新数据可返回时,才会返回客户端。然后,客户端再立即向服务器发送新请求,循环进行。

2.WebHook:客户端注册一个回调URL,当服务器有新数据时,通过该URL通知客户端。WebHook主要是服务器向客户端推送信息的一种方式,需要客户端提供一个接受请求的URL。

3.Server-Sent Event(SSE)另外一种实现实时数据推送的技术,用于推送流式数据,主要是服务器向客户端单向推送数据(实际上,SSE部分的机制和长轮询也有相似之处,不过它们还是有区别的)。

4.Pusher: Pusher是一个第三方的实时消息服务(BaaS),它可以协助客户端和服务器之间的实时通信。客户端和服务器之间的通信都通过Pusher处理。

5.SignalR: SignalR 是由微软开发的一个开源框架,可用于实现客户端和服务器之间的实时通信。SignalR 支持多种传输协议,包括 WebSockets、Long Polling、Server-Sent Events 等。

还有其他一些实时推送技术可以使用:Comet、轮询、XMPP等。