网页页面的订阅者接收网络数据的方法和装置制造方法及图纸

技术编号:9831028 阅读:129 留言:0更新日期:2014-04-01 19:54
本发明专利技术公开了一种网页页面的订阅者接收网络数据的方法和装置,所述方法包括:由浏览器打开的网页页面中的订阅者创建的订阅器,接收到订阅者发送的建立连接的指令后,若WebSocket模块有效,则调用该模块的网络连接API,以WebSocket模式接收网络数据后发送给订阅者;否则:若FlashSocket模块有效,则调用该模块的网络连接API,以FlashSocket模式接收网络数据后发送给订阅者,若FlashSocket模块无效,则调用Etag模块的网络连接API,以Etag模式接收网络数据后发送给订阅者。从而,本发明专利技术可以更好地支持大多数移动终端和大多数PC接收实时更新的网页页面中的网络数据。

【技术实现步骤摘要】
网页页面的订阅者接收网络数据的方法和装置
本专利技术涉及网络技术,尤其涉及一种网页页面的订阅者接收网络数据的方法和装置。
技术介绍
随着网络技术的发展,一些网站对实时性数据显示的要求较高,比如,竞价、股票行情、社交通讯等网站。为更好地保证这些网站的网页页面中的数据的实时性,可以采用服务器推送技术来更新这些网页页面中的数据。例如,基于WebSocket(网络套接字)的推送技术,其具体为:浏览器向服务器发送WebSocekt连接请求,服务器响应该连接请求后建立与浏览器之间的socket(套接字)连接,这样服务器便可向浏览器主动传送数据,从而实现数据推送;为便于描述,在本文中将浏览器基于该推送技术接收服务器推送的数据的方式称为WebSocket模式。然而,兼容WebSocket模式的浏览器通常是高版本浏览器(如版本大于10的InternetExplorer(IE浏览器)),因此WebSocket模式仅适用于装有高版本浏览器的移动终端和PC(PersonalComputer,个人电脑)。再如,基于Flash(矢量多媒体技术)的XML(可扩展标记语言)Socket或Socket对象的推送技术,其具体为:包含Flash应用(即Flashplayer(动画播放器))的浏览器与服务器建立socket连接,之后服务器可以主动向浏览器的Flash应用发送数据,从而实现数据推送;为便于描述,在本文中将浏览器基于该推送技术接收服务器推送的数据的方式称为FlashSocket模式,即基于矢量多媒体技术的套接字模式。然而,FlashSocket模式对Flash的依赖性较强,支持包含Flashplayer的浏览器,因此FlashSocket模式适用于装有包含Flashplayer的浏览器的PC,但不适用于手机等移动终端。综上所述,现有的WebSocket模式或FlashSocket模式的适用性较差,不能很好地支持大多数移动终端和大多数PC接收实时更新的网页页面中的网络数据。
技术实现思路
本专利技术实施例提供了一种网页页面的订阅者接收网络数据的方法和装置,用以更好地支持大多数移动终端和大多数PC接收实时更新的网页页面中的网络数据。根据本专利技术的一个方面,提供了一种网页页面的订阅者接收网络数据的方法,包括:由浏览器打开的网页页面中的订阅者创建的订阅器,在接收到所述订阅者发送的建立连接的指令后,若网络套接字WebSocket模块有效,则调用所述WebSocket模块的网络连接应用程序接口API,以WebSocket模式接收网络数据后发送给所述订阅者;否则:若基于矢量多媒体技术的套接字FlashSocket模块有效,则调用所述FlashSocket模块的网络连接API,以FlashSocket模式接收网络数据后发送给所述订阅者;若所述FlashSocket模块无效,则调用实体标签Etag模块的网络连接API,以Etag模式接收网络数据后发送给所述订阅者。较佳地,在所述接收到所述订阅者发送的建立连接的指令之前,还包括:所述订阅者创建所述订阅器后,所述订阅器调用WebSocket模块的有效查询API,若接收到该有效查询API返回的模块有效的结果,则确认所述WebSocket模块有效;否则,确认所述WebSocket模块无效;其中,所述WebSocket模块的有效查询API若判断所述WebSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。较佳地,在所述确认所述WebSocket模块无效后,还包括:所述订阅器调用FlashSocket模块的有效查询API;所述订阅器若接收到所述FlashSocket模块的有效查询API返回的模块有效的结果,则确认所述FlashSocket模块有效;否则,确认所述FlashSocket模块无效;其中,所述FlashSocket模块的有效查询API用于若判断所述FlashSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。较佳地,在所述调用所述WebSocket模块的网络连接API后,或者在所述调用所述FlashSocket模块的网络连接API后,还包括:所述订阅器设置计时器进行计时;所述计时器超时后,所述订阅器确认此次连接尝试失败;所述订阅器确认连接尝试失败次数超过设定次数后,调用Etag模块的网络连接API。较佳地,在所述调用所述WebSocket模块的网络连接API后,还包括:所述订阅器接收到所述浏览器发送的连接意外断开通知后,重新调用所述WebSocket模块的网络连接API;若设定时间段内仍接收到所述浏览器发送的连接意外断开通知,则调用Etag模块的网络连接API;以及在所述调用所述FlashSocket模块的网络连接API后,所述方法还包括:所述订阅器接收到所述浏览器发送的连接意外断开通知后,重新调用所述FlashSocket模块的网络连接API;若设定时间段内仍接收到所述浏览器发送的连接意外断开通知,则调用Etag模块的网络连接API。较佳地,在所述调用Etag模块的网络连接API后,还包括:所述Etag模块的网络连接API发送最简Etag请求至少两次;若其中任意两次接收的返回数据相同,则确认Etag模式无效;之后,在所述订阅者欲访问的统一资源定位符URL后添加随机数,根据添加了随机数的URL进行网络数据的获取,并将获取的数据发送给所述订阅者;否则,确认Etag模式有效;以及所述以Etag模式接收网络数据后发送给所述订阅者,具体为:所述Etag模块的网络连接API在确认Etag模式有效后,以Etag模式接收网络数据后发送给所述订阅者。根据本专利技术的另一个方面,还提供了一种网页页面的订阅者接收网络数据的装置,包括:由浏览器打开的网页页面中的订阅者创建的订阅器、网络套接字WebSocket模块、基于矢量多媒体技术的套接字FlashSocket模块、以及实体标签Etag模块;其中,所述订阅器用于在接收到所述订阅者发送的建立连接的指令后,若所述WebSocket模块有效,则调用所述WebSocket模块的网络连接应用程序接口API;否则:若所述FlashSocket模块有效,则调用所述FlashSocket模块的网络连接API,若所述FlashSocket模块无效,则调用Etag模块的网络连接API;所述WebSocket模块的网络连接API用于以WebSocket模式接收网络数据后发送给所述订阅者;所述FlashSocket模块的网络连接API用于以FlashSocket模式接收网络数据后发送给所述订阅者;所述Etag模块的网络连接API用于以Etag模式接收网络数据后发送给所述订阅者。较佳地,所述订阅器还用于在其被创建后,调用WebSocket模块的有效查询API,若接收到该有效查询API返回的模块有效的结果,则确认所述WebSocket模块有效;否则,确认所述WebSocket模块无效;其中,所述WebSocket模块的有效查询API用于若判断所述WebSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。较佳地,所述订阅器还用于在确认所述WebSocket模块无效后,调用FlashSocket模块的有效查询API;本文档来自技高网
...
网页页面的订阅者接收网络数据的方法和装置

【技术保护点】
一种网页页面的订阅者接收网络数据的方法,其特征在于,包括:由浏览器打开的网页页面中的订阅者创建的订阅器,在接收到所述订阅者发送的建立连接的指令后,若网络套接字WebSocket模块有效,则调用所述WebSocket模块的网络连接应用程序接口API,以WebSocket模式接收网络数据后发送给所述订阅者;否则:若基于矢量多媒体技术的套接字FlashSocket模块有效,则调用所述FlashSocket模块的网络连接API,以FlashSocket模式接收网络数据后发送给所述订阅者;若所述FlashSocket模块无效,则调用实体标签Etag模块的网络连接API,以Etag模式接收网络数据后发送给所述订阅者。

【技术特征摘要】
1.一种网页页面的订阅者接收网络数据的方法,其特征在于,包括:由浏览器打开的网页页面中的订阅者创建的订阅器,在接收到所述订阅者发送的建立连接的指令后,若网络套接字WebSocket模块有效,则调用所述WebSocket模块的网络连接应用程序接口API,以WebSocket模式接收网络数据后发送给所述订阅者;否则:若基于矢量多媒体技术的套接字FlashSocket模块有效,则调用所述FlashSocket模块的网络连接API,以FlashSocket模式接收网络数据后发送给所述订阅者;若所述FlashSocket模块无效,则调用实体标签Etag模块的网络连接API,以Etag模式接收网络数据后发送给所述订阅者。2.如权利要求1所述的方法,其特征在于,在所述接收到所述订阅者发送的建立连接的指令之前,还包括:所述订阅者创建所述订阅器后,所述订阅器调用WebSocket模块的有效查询API,若接收到该有效查询API返回的模块有效的结果,则确认所述WebSocket模块有效;否则,确认所述WebSocket模块无效;其中,所述WebSocket模块的有效查询API若判断所述WebSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。3.如权利要求2所述的方法,其特征在于,在所述确认所述WebSocket模块无效后,还包括:所述订阅器调用FlashSocket模块的有效查询API;所述订阅器若接收到所述FlashSocket模块的有效查询API返回的模块有效的结果,则确认所述FlashSocket模块有效;否则,确认所述FlashSocket模块无效;其中,所述FlashSocket模块的有效查询API用于若判断所述FlashSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。4.如权利要求3所述的方法,其特征在于,在所述调用所述WebSocket模块的网络连接API后,或者在所述调用所述FlashSocket模块的网络连接API后,还包括:所述订阅器设置计时器进行计时;所述计时器超时后,所述订阅器确认此次连接尝试失败;所述订阅器确认连接尝试失败次数超过设定次数后,调用Etag模块的网络连接API。5.如权利要求3所述的方法,其特征在于,在所述调用所述WebSocket模块的网络连接API后,还包括:所述订阅器接收到所述浏览器发送的连接意外断开通知后,重新调用所述WebSocket模块的网络连接API;若设定时间段内仍接收到所述浏览器发送的连接意外断开通知,则调用Etag模块的网络连接API;以及在所述调用所述FlashSocket模块的网络连接API后,所述方法还包括:所述订阅器接收到所述浏览器发送的连接意外断开通知后,重新调用所述FlashSocket模块的网络连接API;若设定时间段内仍接收到所述浏览器发送的连接意外断开通知,则调用Etag模块的网络连接API。6.如权利要求1-5任一所述的方法,其特征在于,在所述调用Etag模块的网络连接API...

【专利技术属性】
技术研发人员:杜大鹏杨文
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1