首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SSE技术详解:一种全新的HTML5服务器推送事件技术

服务器推送事件(Server-sent Events),简称SSE,是 HTML 5 规范中的一个组成部分,可以用来从服务端实时推送数据到浏览器端。...相对于与之类似的 COMET 和 WebSocket 技术来说,服务器推送事件的使用更简单,对服务器端的改动也比较小。对于某些类型的应用来说,服务器推送事件是最佳的选择。...对于简单的服务器数据推送的场景,使用服务器推送(SSE技术)事件就足够了。 在浏览器支持方面,服务器推送事件(SSE技术)已经在除 IE 外的大部分桌面和移动浏览器上得到了支持。...在介绍完服务器推送事件的规范内容之后,下面介绍服务器端的实现。 SSE实战示例:服务器端和浏览器端实现 从上一节中对通讯协议的描述可以看出,服务器端推送事件是一个比较简单的协议。...如果只是需要从服务器端推送数据,服务器推送事件的规范更加简单,实现起来更容易。本文对服务器推送事件的规范内容、服务器端和浏览器端的实现都进行了详细的介绍,对如何支持 IE 浏览器也进行了具体的分析。

3.9K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入理解Spring事件机制(二):事件推送

    推送事件对象即可令所有订阅者收到事件。...相关文章: 深入理解Spring事件机制(一):广播器与监听器的初始化 深入理解Spring事件机制(二):事件推送 一、事件推送 1、将事件推送到上下文 当我们借助 Spring 发送一个事件对象的时候...,等到广播器初始化完成后再推送; 如果上下文存在父上下文,则向父上下文也推送事件; 针对早期事件列表,在容器调用 AbstractApplicationContext.refresh 方法进行初始化的过程中...也就是说,当 registerListeners 还没执行前,任何向上下文推送事件实际上都不会立刻执行,而是延迟到 registerListeners 这一步才会推送,在这一步后,向上下文推送事件都会立刻被推送...总结 当我们向 ApplicationContext 推送事件时: ApplicationContext 会将事件推送至内部持有的广播器实例 SimpleApplicationEventMulticaster

    1.8K20

    HTML5绘画与拖放事件

    HTML5绘画 在html5中出现了许多新的特性,绘画功能就是其中之一。由于html5新增的这些新特性,所以也在逐渐取代Flash,毕竟Flash比较占用内存,也经常性奔溃。...html5不仅能制作2d的绘画还能做3d的绘画,但是要注意的是这两者使用的函数不一样但都基于canvas。在网络上我们可以搜索到一些使用html5制作的2D或3D的效果图,例如: ? ? ?...拖放事件 拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在 HTML5 中,拖放是标准的一部分,任何元素都能够实现拖放。...ondragstart 事件: 当元素被拖动时就会触发ondragstart 事件,然后通过事件源可以进行一些设置,或者打印消息。 代码示例: ? 运行结果: ?...ondragover事件: ondragover 事件会在被别的元素触碰到时触发,通过这个事件事件源对象,可以设置在何处放置被拖动的元素。 默认地,无法将元素放置到其他元素中。

    3K30

    HTML5 学习总结(五)——WebSocket与消息推送

    ,如聊天室、后台信息提示、实时更新数据等功能,但通过polling、Long polling、长连接、Flash Socket以及HTML5中定义的WebSocket能完成该功能需要。...Websocket: WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信。...特点: 事件驱动 异步 使用ws或者wss协议的客户端socket 能够实现真正意义上的推送功能 缺点: 少部分浏览器不支持,浏览器支持的程度与方式有区别。 ?...,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。...在Web网页与服务器端间建立Socket连接,当WebSockets可用时(即浏览器支持Html5)SignalR使用WebSockets,当不支持时SignalR将使用长轮询来保证达到相同效果。

    2.8K80

    html5利用websocket完成的推送功能(tomcat)

    利用websocket和java完成的消息推送功能,服务器用的是tomcat7.0.42,一些东西是自己琢磨的,也不知道恰不恰当,不恰当处,还请各位见谅,并指出。...2.websocket的优点 以前我们实现推送技术,用的都是轮询,在特点的时间间隔有浏览器自动发出请求,将服务器的消息主动的拉回来,在这种情况下,我们需要不断的向服务器发送请求,然而HTTP request...WebSocket API最伟大之处在于服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。在建立连接之后,服务器可以主动传送数据给客户端。 此外,服务器与客户端之间交换的标头信息很小。...WebSocket并不限于以Ajax(或XHR)方式通信,因为Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以彼此相互推送信息; 关于ajax,comet,websocket的详细介绍...; }; 如果出现连接,处理,接收,发送数据失败的时候就会触发onerror事件 我们可以看出所有的操作都是采用事件的方式触发的,这样就不会阻塞UI,使得UI有更快的响应时间,得到更好的用户体验。

    1.4K60

    客户侧产品推送样本事件处置

    在每一年的演习中,我们都会处置好几十起产品安全事件,虽然绝大多数都是已知的漏洞,但仍然有记录和总结的价值。...回顾历年写下的笔记,提炼出八个典型场景进行分享: 1、面向情报公司付费信息的应急 2、面向互联网侧舆情信息的应急 3、客户侧产品推送样本事件处置 4、某邮箱被攻击情报的自我检查 5、办公网出口地址攻击客户蜜罐...01 — 事件描述 某日,客户侧驻场的一线同事,将产品被攻击事件上报至产品应急组。现场使用NTA设备发现异常,并结合丰富的人工经验对事件展开分析。...03 — 处置结果 该事件涉及到的客户,已做后门清除和产品漏洞修复,后续无因为安全产品而遭到攻击的事件。...针对未做同一漏洞修复的演习客户,也陆续联系进行漏洞修复,无此类事件发生,基本上是解决了这一类问题。 04 — 经验总结 经历过该事件,在漏洞挖掘和利用方面有了更深入的理解。

    15020

    蓝鲸6.1 CMDB 事件推送的开源替代方案

    一文中已经介绍,在此我再简单重复下: 蓝鲸5.1 自带“事件推送”功能,当配置信息发生变化的时候,实时通知到关联的系统中; 蓝鲸6.1 不再提供“事件推送”功能,而是由“监听资源变化事件”的一个 CMDB...API 实现,需要我们自行查询; CMDB 版本的迭代,或许说明老版本的“事件推送”已经不符合蓝鲸的设计理念,作为此功能的对接使用者感同深受: 事件推送功能全面性,基本覆盖了CMDB全场景的信息变化;...事件推送更类似一个图形化的API,通过界面就让开发者知道该如何使用; “简单的背后的逻辑复杂化”,这是在对接事件推送接口的第一感受; 由于功能的全面性,意味着数据格式的多样性,对接过程你懂得; 通过对事件推送功能对接过程的回顾以及对替代服务...代表主机详情事件 host_relation 代表主机的关系事件(主要使用) biz 代表业务详情事件 set 代表集群详情事件 module 代表模块详情事件 process 代表进程详情事件 object_instance...时间/事件回溯 虽然时间回溯最长间隔为3小时,我们还是希望对不同粒度的事件进行区分,原则如下: host_relation 主机关系事件,实时生效; module 模块事件,实时生效; set 集群事件

    31010

    HTML5】Canvas 内部元素添加事件处理

    前言 canvas 没有提供为其内部元素添加事件监听的方法,因此如果要使 canvas 内的元素能够响应事件,需要自己动手实现。...配合自定义事件,我们就可以实现为 canvas 内的元素添加事件监听的效果。...源码 演示 自定义事件 为了实现javascript对象的自定义事件,我们可以创建一个管理事件的对象,该对象中包含一个内部对象(当作map使用,事件名作为属性名,事件处理函数作为属性值,因为可能有个多个事件处理函数...,所以使用数组存储事件处理函数),存储相关的事件。...如果一个自定义对象需要添加事件监听,只需要继承 EventTarget。 有序数组 在判断触发某个事件的元素时,需要遍历所有绑定了该事件的元素,判断鼠标位置是否位于元素内部。

    2.2K30

    HTML5移动端开发的常用触摸事件

    HTML5移动端开发的常用触摸事件 h5开发手机端是经常会有触摸事件和滑动事件 HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略...今天为大家介绍的事件主要是触摸事件:touchstart、touchmove和touchend。   ...在这个事件发生期间,调用preventDefault()事件可以阻止滚动。   touchend事件:当手指从屏幕上离开的时候触发。   touchcancel事件:当系统停止跟踪触摸的时候触发。...关于这个事件的确切出发时间,文档中并没有具体说明,咱们只能去猜测了。   上面的这些事件都会冒泡,也都可以取消。虽然这些触摸事件没有在DOM规范中定义,但是它们却是以兼容DOM的方式实现的。...(返回当事件被触发时,鼠标指针的水平坐标)、clientY(返回当事件触发时,鼠标指针的垂直坐标)、screenX(当某个事件被触发时,鼠标指针的水平坐标)和screenY(返回当某个事件被触发时,鼠标指针的垂直坐标

    1.6K10

    使用增强版 singleflight 合并事件推送,效果炸裂!

    服务提供方在注册之后,会将变更事件推送到消费方,推送事件的处理流程是:接收到事件,查询组装出最新的数据,然后推送给订阅者。...套用上面 singleflight ,在第一个事件推送过程中,其他相同的事件被 Hold 住,等第一个事件推送完成后,这些 Hold 的事件不再执行推送直接返回。...稍微想一下就知道这样是有问题的,假设有三个事件 A、B、C,分别对应到三个版本的数据A1、B1、C1,A 最先到达,在 A 开始推送后但没完成时 B、C 事件到达,A 事件触发推送了 A1 版本的数据,...B、C 事件在 A 事件推送完成后,直接丢弃,最终推送到消费者上的数据版本为 A1,但我们肯定期望推送的数据版本为 C1,画个图线感受下: 图片 增强一点点 假设有事件 A、B、C、D 先后到达,A...事件仍然先正常执行推送,在 A 事件推送的时候,B、C、D 事件 Hlod 住,当 A 事件推送完成后,B 事件开始推送,B 事件将把 A 事件推送时期积攒的事件都一起推送掉,即 B、C、D 一次性推送完成

    80720

    【javascript】谈谈HTML5—Web Worker+canvas+indexedDB+拖拽事件

    为什么学习HTML5? 咳咳, 回到主题,为什么我们要学HTML5呢?...1.了解HTML5的囊括范围的一大好处是:当你不小心使用了一个H5的东东的时候(例如你试图通过百度找到的答案解决一个紧张的需求),你会很及时的关注它的兼容性 2.H5有些新增的特性也许你从没接触过,也感觉无需用到它...在操作期间,会触发一系列的拖放类型的事件 其中我们主要关心的事件有三个: 1. ondragstart 发生在可拖拽(draggable)的元素上, 在元素被拖动的时候调用 2. ondragover...ondrop事件中调用这两个方法, 实现关键性的数据传递。...参考资料: HTML5-MDN https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML5 【完】 ?

    3.7K100

    【javascript】谈谈HTML5: Web-Worker、canvas、indexedDB、拖拽事件

    为什么学习HTML5? 咳咳, 回到主题,为什么我们要学HTML5呢?...1.了解HTML5的囊括范围的一大好处是:当你不小心使用了一个H5的东东的时候(例如你试图通过百度找到的答案解决一个紧张的需求),你会很及时的关注它的兼容性 2.H5有些新增的特性也许你从没接触过,也感觉无需用到它...在操作期间,会触发一系列的拖放类型的事件 其中我们主要关心的事件有三个: 1. ondragstart 发生在可拖拽(draggable)的元素上, 在元素被拖动的时候调用 2. ondragover...ondrop事件中调用这两个方法, 实现关键性的数据传递。...参考资料: HTML5-MDN https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML5 【完】

    3.1K30

    app推送-极光推送

    这些就是推送。 ? 这些推送有什么作用呢,我百度百科了一下好处 ? 做过app开发的都应该接触到app推送。现在安卓推送 app只要是后台进程被杀死用户是是接受不到的。...现在可以集成各大厂商都自己研发的推送方式,比如小米推送、华为推送。他们自己推送肯定在自己的手机能收到,还有就是只要你有钱什么都能解决。。。。。 ?...我给大家的解决方案可以参考一下: 目前解决推送问题通用的解决办法是采用混合推送机制,对于有提供系统推送的厂商走厂商推送,其余的走第三方 推送。...比如极光 系统级别的推送就是根据手机型号进行推送,判断用户手机型号进行分别进行sdk的切换。 对于没有提供系统级推送的厂商那么只能自己通过保活机制维持一个常驻后台进程来实现。...最后我们一起期待工信部的推送尽快与大家见面。。 今天说一下app极光推送后端逻辑 老规矩先扔极光推送文档的地址。

    3.9K20

    千帆 iPaaS x 事件总线,快速完成企业微信消息推送

    以企业微信为例,传统方案下,如果想将业务信息快速推送到企业微信,需要:依次进行业务选型 --> 事件投递接口开发 --> 创建企业微信机器人 --> 接收信息推送到指定群等操作,开发流程长,步骤复杂,同时针对不同事件源...产品业务事件如产品变更、状态更新等,经 Ckafka、TDMQ 等消息队列推送至企业微信进行同步通知。 2. 业务场景如网站新增用户、发布新内容等请求,经 Webhook 同步到企业微信。 03....虽然目前已支持 URL 回调,但如果想直接推送到 Slack、企业微信等平台,还是需要进行额外的适配与开发。...通过 iPaaS + EB 接入,则大大简化了该流程,仅需几行配置,即可完成事件推送链路的打通。 04. 部署步骤 配置千帆 iPaaS 集成流 1....推送结果验收 复制生成的 API 网关 URL,在云点播控制台配置回调,即可完成配置,当云点播侧视频处理完成后,企业微信机器人将同步推送结果到微信群。

    92420
    领券