消息推送

Posted by Wh0ami-hy on September 14, 2023

只要触发某个事件(主动分享了资源或者后台主动推送消息),Web 页面的通知小红点就会实时的 +1 就可以了。

通常在服务端会有若干张消息推送表,用来记录用户触发不同事件所推送不同类型的消息,前端主动查询(拉)或者被动接收(推)用户所有未读的消息数。

消息推送无非是推(push)和拉(pull)两种形式

1. SSE方式

服务器发送事件,Server-Sent Events

这是一种服务器端到客户端(浏览器)的单向消息推送

注意: SSE 不支持 IE 浏览器,对其他主流浏览器兼容性做的还不错

2. WebSocket方式

WebSocket是一种在Web应用程序中提供双向通信的协议。它建立在HTTP协议之上,通过在客户端和服务器之间建立持久连接,实现实时数据传输。

WebSocket在初始握手阶段使用HTTP协议,然后在建立连接后切换到WebSocket协议。与传统的HTTP请求-响应模型不同,WebSocket允许服务器主动向客户端推送数据,而不需要客户端显式发送请求。这种双向通信模式使得WebSocket非常适用于实时应用程序,例如聊天应用、实时数据监控等。

WebSocket在浏览器端使用JavaScript的WebSocket对象进行编程。它提供了与服务器进行连接、发送和接收数据的函数。在服务器端,需要使用相应的WebSocket库或框架来处理WebSocket连接和数据传输。


本站总访问量