一种基于websocket协议与http协议的即时数据传输方法及系统技术方案

技术编号:18119490 阅读:123 留言:0更新日期:2018-06-03 11:18
本发明专利技术提供了一种基于websocket协议与http协议的即时数据传输方法级系统,方法包括:建立前端html5与websocket服务器之间的连接,基于websocket服务器推送websocket数据到前端html5用户,前端html5采用事件触发机制,对重复websocket数据进行过滤处理,将过滤后的数据显示给用户,前端html5检测预设时间内是否接受到新的websocket数据,若是,则接受新的websocket数据,若否,则:执行http请求校验数据集合是否正确,若是,则使用websocket协议传输数据,若否,则:执行http协议获取数据;判断校验是否结束,若是,则执行http请求调用结束数据。本发明专利技术能够在即时数据传输时既解决消息前后端不一致,又解决资源开销浪费、输出传输延迟时间较长的问题。

An instant data transmission method and system based on websocket protocol and HTTP protocol

The invention provides an instant data transmission method level system based on websocket protocol and HTTP protocol. The method includes: establishing the connection between the front HTML5 and the websocket server, pushing the websocket data to the front end HTML5 user based on the websocket server, and the event trigger mechanism of the front end HTML5 to repeat the websocket data. After filtering, the filtered data is displayed to the user, and the front end HTML5 detects whether the new websocket data is accepted in the preset time, if then, the new websocket data is accepted, if not, the execution of the HTTP request to verify the data set is correct. If, then, use the websocket protocol to transmit the data, if not, if not, Executes the HTTP protocol to get the data, determines whether the check is finished or not, if so, executes the HTTP request to call the end data. The invention can solve the problem of inconsistency between front and rear ends of messages, and solve the problem of wasting resources and transmitting long delay time when transmitting real-time data.

【技术实现步骤摘要】
一种基于websocket协议与http协议的即时数据传输方法及系统
本专利技术属于及时数据通信
,尤其涉及一种基于websocket协议与http协议的即时数据传输方法及系统。
技术介绍
现有的即时数据通信主要单独通过websocket协议传输数据,或者单独通过http协议轮询传输消息,因此,在单独使用websocket协议时,websocket在建立连接的过程中收不到消息,导致消息前后端不一致,存在严重的缺陷问题,而在单独使用http轮询的情况下,不仅浪费资源开销,而且数据传输延迟时间较长。因此,如何在即时数据传输时既解决消息前后端不一致,又解决资源开销浪费、输出传输延迟时间较长,是一项亟待解决的问题。
技术实现思路
有鉴于此,本专利技术提供了一种基于websocket协议与http协议的即时数据传输方法,能够在即时数据传输时既解决消息前后端不一致,又解决资源开销浪费、输出传输延迟时间较长的问题。为了实现上述目的,本专利技术提供如下技术方案:一种基于websocket协议与http协议的即时数据传输方法,包括:建立前端html5与websocket服务器之间的连接;基于所述websocket服务器推送websocket数据到所述前端html5用户;所述前端html5采用事件触发机制,对重复websocket数据进行过滤处理,将过滤后的数据显示给所述用户;所述前端html5检测预设时间内是否接受到新的websocket数据,若是,则接受所述新的websocket数据,若否,则:执行http请求校验数据集合是否正确,若是,则使用websocket协议传输数据,若否,则:执行http协议获取数据;判断校验是否结束,若是,则执行http请求调用结束数据。优选地,所述基于所述websocket服务器推送websocket数据到所述前端html5用户包括:所述websocket服务器将所述websocket数据封装成json数据;基于websocket协议或http协议将所述json数据传输至所述前端html5用户。优选地,所述前端html5采用事件触发机制,对重复websocket数据进行过滤处理,将过滤后的数据显示给所述用户包括:所述前端html5按照json的key-value形式触发事件,采用数据集合缓存去重方式对重复websocket数据进行过滤处理,将过滤后的数据显示给所述用户。优选地,所述执行http请求调用结束数据后,还包括:基于所述websocket服务器推送全局消息数据到所述前端html5用户。优选地,所述预设时间为1.5秒。一种基于websocket协议与http协议的即时数据传输系统,包括:建立模块,用于建立前端html5与websocket服务器之间的连接;推送模块,用于基于所述websocket服务器推送websocket数据到所述前端html5用户;数据处理模块,用于所述前端html5采用事件触发机制,对重复websocket数据进行过滤处理,将过滤后的数据显示给所述用户;检测模块,用于所述前端html5检测预设时间内是否接受到新的websocket数据;接受模块,用于当所述前端html5检测预设时间内接受到新的websocket数据时,接受所述新的websocket数据;校验模块,用于当所述前端html5检测预设时间内未接受到新的websocket数据时,执行http请求校验数据集合是否正确;传输模块,用于当执行http请求校验数据集合正确时,使用websocket协议传输数据;获取模块,用于当执行http请求校验数据集合不正确时,执行http协议获取数据;判断模块,用于判断校验是否结束;调用模块,用于当判断校验结束时,执行http请求调用结束数据。优选地,所述推送模块具体用于:所述websocket服务器将所述websocket数据封装成json数据;基于websocket协议或http协议将所述json数据传输至所述前端html5用户。优选地,所述数据处理模块具体用于:所述前端html5按照json的key-value形式触发事件,采用数据集合缓存去重方式对重复websocket数据进行过滤处理,将过滤后的数据显示给所述用户。优选地,所述推送模块还用于:基于所述websocket服务器推送全局消息数据到所述前端html5用户。优选地,所述预设时间为1.5秒。从上述技术方案可以看出,本专利技术提供了一种基于websocket协议与http协议的即时数据传输方法,当需要进行即时数据传输时,首先建立前端html5与websocket服务器之间的连接,然后基于websocket服务器推送websocket数据到前端html5用户,前端html5采用事件触发机制,对重复websocket数据进行过滤处理,将过滤后的数据显示给用户,前端html5检测预设时间内是否接受到新的websocket数据,若是,则接受新的websocket数据,若否,则:执行http请求校验数据集合是否正确,若是,则使用websocket协议传输数据,若否,则:执行http协议获取数据;判断校验是否结束,若是,则执行http请求调用结束数据。采用http协议和与websocket协议,合理利用websocket协议进行消息接收,然后利用http协议进行数据校验和丢失的消息进行数据纠正,解决了数据前后端不一致的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术公开的一种基于websocket协议与http协议的即时数据传输方法实施例1的方法流程图;图2为本专利技术公开的一种基于websocket协议与http协议的即时数据传输方法实施例2的方法流程图;图3为本专利技术公开的一种基于websocket协议与http协议的即时数据传输系统实施例1的结构示意图;图4为本专利技术公开的一种基于websocket协议与http协议的即时数据传输系统实施例2的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,为本专利技术公开的一种基于websocket协议与http协议的即时数据传输方法实施例1的流程图,所述方法包括:S101、建立前端html5与websocket服务器之间的连接;当需要进行即时数据传输时,首先前端html5与websocket服务器建立连接。S102、基于websocket服务器推送websocket数据到前端html5用户;当前端html5与websocket服务器之间建立连接后,websocket服务器推送websocket数据到前端html5用户。Websocket服务器传输数据采用单工方式,websocket服务器只负责传输数据,不负责校验数据本文档来自技高网...
一种基于websocket协议与http协议的即时数据传输方法及系统

【技术保护点】
一种基于websocket协议与http协议的即时数据传输方法,其特征在于,包括:建立前端html5与websocket服务器之间的连接;基于所述websocket服务器推送websocket数据到所述前端html5用户;所述前端html5采用事件触发机制,对重复websocket数据进行过滤处理,将过滤后的数据显示给所述用户;所述前端html5检测预设时间内是否接受到新的websocket数据,若是,则接受所述新的websocket数据,若否,则:执行http请求校验数据集合是否正确,若是,则使用websocket协议传输数据,若否,则:执行http协议获取数据;判断校验是否结束,若是,则执行http请求调用结束数据。

【技术特征摘要】
1.一种基于websocket协议与http协议的即时数据传输方法,其特征在于,包括:建立前端html5与websocket服务器之间的连接;基于所述websocket服务器推送websocket数据到所述前端html5用户;所述前端html5采用事件触发机制,对重复websocket数据进行过滤处理,将过滤后的数据显示给所述用户;所述前端html5检测预设时间内是否接受到新的websocket数据,若是,则接受所述新的websocket数据,若否,则:执行http请求校验数据集合是否正确,若是,则使用websocket协议传输数据,若否,则:执行http协议获取数据;判断校验是否结束,若是,则执行http请求调用结束数据。2.根据权利要求1所述的方法,其特征在于,所述基于所述websocket服务器推送websocket数据到所述前端html5用户包括:所述websocket服务器将所述websocket数据封装成json数据;基于websocket协议或http协议将所述json数据传输至所述前端html5用户。3.根据权利要求1所述的方法,其特征在于,所述前端html5采用事件触发机制,对重复websocket数据进行过滤处理,将过滤后的数据显示给所述用户包括:所述前端html5按照json的key-value形式触发事件,采用数据集合缓存去重方式对重复websocket数据进行过滤处理,将过滤后的数据显示给所述用户。4.根据权利要求1所述的方法,其特征在于,所述执行http请求调用结束数据后,还包括:基于所述websocket服务器推送全局消息数据到所述前端html5用户。5.根据权利要求1所述的方法,其特征在于,所述预设时间为1.5秒。6.一种基于websocket协议与http协议的即时数据传输系统,其特征在于,...

【专利技术属性】
技术研发人员:李杰何隽
申请(专利权)人:北京焦点新干线信息技术有限公司
类型:发明
国别省市:北京,11

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

1