一种事件广播方法与流程

文档序号:12824557阅读:189来源:国知局
一种事件广播方法与流程

本发明涉及通信技术领域,尤其涉及一种事件广播的方法及装置。



背景技术:

b/s(browser/server,浏览器/服务器模式)架构客户端是由一系列层次结构分明的对象组成,其中包含一个根对象,其他所有对象都继承于这个根对象,或者嵌套在这个根对象内部。对象之间的通信可以通过事件机制来实现。目前b/s架构客户端事件有冒泡和隧道机制,冒泡机制是子对象向父对象传播事件,隧道机制是父对象向子对象传播事件。

但是上述机制有一些限制,例如,不能向正在监听的所有对象同时广播事件,必须选择是否与父对象或者子对象通信。



技术实现要素:

针对现有b/s架构客户端事件必须选择是否与父对象或者子对象通信的缺陷,本发明实施例提供了一种事件广播方法,解决了现有技术中存在的不能向正在监听的所有对象同时广播事件的问题。

本发明采用以下技术方案,首先本发明实施提供了一种事件广播的方法,包括:

派发事件的对象,调用事件广播代理服务,广播相应的事件类型;

优选地,所述方法还包括监听所述事件的对象,先注册监听所述事件类型;

本发明实施还提供了事件广播的装置,包括:

调用模块,用于派发事件的对象,调用事件广播代理服务,广播相应的事件类型;

优选地,所述装置还包括注册模块,用于监听所述事件的对象,注册监听所述事件类型。

有益效果:采用本发明实施例所述方法,与现有b/s架构客户端的冒泡 和隧道事件机制相比,不再受父子层次结构的限制,从而达到了能向正在监听的所有对象同时广播事件的效果。

附图说明

图1是b/s架构客户端现有的冒泡和隧道事件机制;

图2是本发明实施例一种事件广播方法的示意图;

图3是本发明实施例一种事件广播方法的流程图;

图4是本发明实施例一种事件广播装置图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面结合附图对技术方案的实施作进一步的详细描述:

图1是b/s架构客户端现有的冒泡和隧道事件机制,冒泡机制是子对象向父对象传播事件(例如对象subobjectaba冒泡派发事件时,只有它的父对象们能监听到事件,其他对象则监听不到事件),隧道机制是父对象向子对象传播事件(例如对象subobjectb隧道派发事件时,只有它的子对象们能监听到事件,其他对象则监听不到事件)。因此这种机制有一些限制,不能向正在监听的所有对象同时广播事件,必须选择是否与父对象或者子对象通信。

图2是本发明实施例一种事件广播方法的示意图。派发事件的对象subobjectab调用事件广播代理服务,传入参数为事件类型,内容包括(事件名称,派发事件的对象),基于根对象rootobject的隧道机制,将所述事件广播给正在监听事件的对象们。

图3中是本发明实施例一种事件广播方法的流程图。

步骤s301:监听事件的对象注册监听事件类型

监听事件的对象注册监听事件,参数为事件类型,内容包括(事件名称,派发事件的对象);举例如下:

对象ab注册监听对象bb发起的query事件。

subobjectab.watch(‘query’,’subobjectbb’)。

步骤s302:派发事件的对象,调用事件广播代理服务,广播相应的事件类型。

派发事件的对象调用事件广播代理服务进行事件广播,参数为事件类型,内容包括(事件名称,派发事件的对象)。

举例如下:

eventbroadcastservice.broadcast(‘query’,’subobjectbb’);

事件广播代理服务,利用根对象的隧道机制,将事件广播出去。

举例如下:

¥rootobject.broadcast(‘query’,’subobjectbb’)。

图4是本发明实施例的装置图,包括:

第一模块401注册模块:用于用于监听所述事件的对象,注册监听所述事件类型。

第二模块402调用模块:用于派发事件的对象,调用事件广播代理服务,广播相应的事件类型。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。



技术特征:

技术总结
本发明公开了一种事件广播的方法及装置,涉及通信领域。该方法包括派发事件的对象,调用事件广播代理服务,广播所述事件类型;其中在派发事件的对象前,监听事件的对象,先注册监听事件类型。采用本发明技术方案,达到了能向正在监听的所有对象同时广播事件的效果。

技术研发人员:王艾琳
受保护的技术使用者:中兴通讯股份有限公司
技术研发日:2015.12.31
技术公布日:2017.07.07
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1