Comments (23)
补充:SSE,EventSource接口
from fe-interview.
- websocket
- SSE,EventSource接口
参考
from fe-interview.
服务端推送
webSocket
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
eventsource(SSE)
EventSource 接口是 Web 内容与服务器发送的事件的接口。一个 EventSource 实例打开一个持久连接 HTTP 服务器,它发送事件的 text/event-stream 格式。连接保持打开状态,直到通过调用关闭 EventSource.close()。
与 WebSockets 不同,服务器发送的事件是单向的。也就是说,数据消息是从服务器到客户端(例如用户的 Web 浏览器)沿一个方向传递的
Web Push
就是用户订阅了一个站点的 Web Push 服务后,即使用户关闭了浏览器,一旦站点主动发送推送消息,用户都能收到,只要你的电脑是开着的。这是目前谷歌和苹果在 Chrome 和 Safari 上都力推的一种全新推送服务,Firefox 最近也加入了这个阵营。
但是由于需要 GCM 支持,所以这个方法并不常见
关于轮询,轮询是客户端主动去向服务端‘索要’信息,因此算不上主动推送
from fe-interview.
webSocket
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
eventsource(SSE)
EventSource 接口是 Web 内容与服务器发送的事件的接口。一个 EventSource 实例打开一个持久连接 HTTP 服务器,它发送事件的 text/event-stream 格式。连接保持打开状态,直到通过调用关闭 EventSource.close()。
与 WebSockets 不同,服务器发送的事件是单向的。也就是说,数据消息是从服务器到客户端(例如用户的 Web 浏览器)沿一个方向传递的
Web Push
就是用户订阅了一个站点的 Web Push 服务后,即使用户关闭了浏览器,一旦站点主动发送推送消息,用户都能收到,只要你的电脑是开着的。这是目前谷歌和苹果在 Chrome 和 Safari 上都力推的一种全新推送服务,Firefox 最近也加入了这个阵营。
但是由于需要 GCM 支持,所以这个方法并不常见
关于轮询,轮询是客户端主动去向服务端‘索要’信息,因此算不上主动推送
from fe-interview.
websocket
from fe-interview.
http2.0 的长链接
from fe-interview.
websocket
from fe-interview.
- 一个轮训
from fe-interview.
- 一个轮训
轮询也要请求吧,不是主动吧
from fe-interview.
- 一个轮训
轮询也要请求吧,不是主动吧
轮询是定时去服务器端请求数据,不管有没有新数据都会请求。并不算主动推送
from fe-interview.
- 一个轮训
轮询也要请求吧,不是主动吧
轮询是定时去服务器端请求数据,不管有没有新数据都会请求。并不算主动推送
是的,没错
from fe-interview.
第一时间想到了实现实时推送消息的websocket
from fe-interview.
websocket
from fe-interview.
补充:SSE,EventSource接口
SSE 技术详解:https://www.cnblogs.com/goloving/p/9196066.html
from fe-interview.
- websocket
- SSE
websocket更强大一些吧,支持全双工,协议较新(也不新了都2020了)
from fe-interview.
- websocket
- EventSource
from fe-interview.
websocket
from fe-interview.
websocket
from fe-interview.
轮询
长轮询
HTTP流
SSE
Web Sockets
from fe-interview.
- 轮询
- 长轮询
- 长连接
- SSE
- webSocket
https://blog.csdn.net/harry_yaya/article/details/107193428
from fe-interview.
只知道websocket
from fe-interview.
Human:System: 了解您的要求,我们将保持对话内容友好,并避免涉及法律、政治以及**官员等内容。关于您的问题,网页应用从服务器主动推送到客户端有以下几种方式:
-
WebSocket: WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,适用于实时性要求较高的场景。通过 WebSocket,服务器可以向客户端发送消息,而无需客户端明确地请求。
-
Server-Sent Events (SSE): SSE 是一种基于 HTTP 的轻量级协议,用于将服务器端的事件流式传输到客户端。服务器可以以流的形式发送事件,而客户端可以通过监听这些事件来接收数据。
-
Long Polling: 长轮询是一种模拟实时通信的技术。客户端发送请求到服务器,服务器保持连接打开,直到有新的数据可用时才响应请求,然后客户端重新发送请求以获取下一次的更新。
-
Push API: Push API 是浏览器提供的一种机制,允许服务器向客户端发送推送通知,即使网页应用处于后台或关闭状态。
-
Firebase Cloud Messaging (FCM): 对于移动应用,FCM 提供了从服务器向设备推送通知的功能,使应用能够在不活跃的状态下接收到消息。
-
MQTT(Message Queuing Telemetry Transport): MQTT 是一种轻量级的消息传输协议,适用于物联网和实时数据传输场景,也可以用于网页应用的消息推送。
这些方式各有优劣,具体的选择取决于您的应用需求和技术栈。请根据您的情况选择最适合的方法来实现服务器向客户端的主动推送。如果您需要更详细的解释或帮助,请随时提问。
from fe-interview.
轮询 WebSocket
from fe-interview.
Related Issues (20)
- [angular] 第1803天 请说说在Angular中什么是服务和依赖注入(DI)?
- [angular] 第1804天 请说说路由和导航在Angular中如何工作的?
- [angular] 第1805天 请说说在Angular中如何实现表单验证?
- [angular] 第1806天 请说说观察者模式和RxJS在Angular中的应用
- [angular] 第1807天 请说说在Angular中的双向数据绑定是如何工作的?
- [angular] 第1808天 请说说在Angular中如何实现国际化(i18n)?
- [angular] 第1809天 如何在Angular中实现懒加载?
- [angular] 第1810天 如何在Angular中实现导航的控制和保护?
- [angular] 第1811天 请说说在Angular中什么是RxJS?
- [angular] 第1812天 请说说在Angular中的ngFor是什么?有哪些用途? HOT 1
- [angular] 第1813天 请说说在Angular中的路由器是什么?
- [angular] 第1814天 请说说在Angular中的ngSwitch是什么?有哪些用途?
- [angular] 第1815天 请说说在Angular中的组件是什么?
- [angular] 第1816天 请说说在Angular中什么是指令?有哪些类型的指令?
- [angular] 第1817天 请说说在Angular中的依赖注入是什么?
- [angular] 第1818天 请说说在Angular中的NgModule是什么?
- [angular] 第1819天 请说说在Angular中的可观察对象是什么?
- [angular] 第1820天 请说说在Angular中的路由器守卫是什么?它有哪些类型?
- [angular] 第1821天 请说说在Angular中的服务是什么?如何创建一个服务?
- [angular] 第1822天 请说说在Angular中的模板语法是什么?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fe-interview.