一种基于Websocket协议的消息推送方法及系统技术方案

技术编号:24353906 阅读:27 留言:0更新日期:2020-06-03 02:09
本发明专利技术公开一种基于Websocket协议的消息推送方法,涉及消息推送技术领域,包括:在前台服务器和后台服务器之间建立Websocket服务;在用户通过前台服务器向后台服务器发送浏览记录时:后台服务器向Websocket服务推送相关消息,Websocket服务接收推送消息并发送至前台服务器,前台服务器监听并接收Websocket服务推送的消息,前台服务器自行处理消息,并实时推送给用户。本发明专利技术还提供了一种基于Websocket协议的消息推送系统,其通过Websocket服务模块实现了后台模块与前台模块之间的通信,其与前述方法都可以让用户更加快速、更高效率的获取到自己所需要的信息,提高了用户的信息提取速率,增加了用户体验。

A method and system of message push based on websocket protocol

【技术实现步骤摘要】
一种基于Websocket协议的消息推送方法及系统
本专利技术涉及消息推送
,具体的说是一种基于Websocket协议的消息推送方法及系统。
技术介绍
很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。而比较新的技术去做轮询的效果是Comet,这种技术虽然可以双向通信,但依然需要反复发出请求;而且在Comet中,普遍采用的长链接,也会消耗服务器资源。在这种情况下,HTML5定义了Websocket协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。Websocket是独立的、创建在TCP上的协议。连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小只有2至10字节(和数据包长度有关);对于客户端到服务器的内容,此头部还需要加上额外的4字节的掩码。相对于HTTP请求每次都要携带完整的头部,此项开销显著减少了。由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于HTTP请求需要等待客户端发起请求服务端才能响应,延迟明显更少;即使是和Comet等类似的长轮询比较,其也能在短时间内更多次地传递数据。与HTTP不同的是,Websocket需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息。而HTTP请求可能需要在每个请求都携带状态信息(如身份认证等)。Websocket定义了扩展,用户可以扩展协议、实现部分自定义的子协议。如部分浏览器支持压缩等,相对于HTTP压缩,Websocket在适当的扩展支持下,可以沿用之前内容的上下文,在传递类似的数据时,可以显著地提高压缩率。
技术实现思路
本专利技术针对目前技术发展的需求和不足之处,提供一种基于Websocket协议的消息推送方法及系统,可以让用户更加快速、更高效率的获取到自己所需要的信息,提高了用户的信息提取速率,增加了用户体验。首先,本专利技术提供一种基于Websocket协议的消息推送方法,解决上述技术问题采用的技术方案如下:一种基于Websocket协议的消息推送方法,该方法的实现过程包括:在前台服务器和后台服务器之间建立Websocket服务;在前台服务器和后台服务器之间建立Websocket服务;在用户通过前台服务器向后台服务器发送浏览记录时:后台服务器向Websocket服务推送相关消息,Websocket服务接收推送消息并发送至前台服务器,前台服务器监听并接收Websocket服务推送的消息,前台服务器自行处理消息,并实时推送给用户。可选的,所涉及后台服务器向Websocket服务推送相关消息具体过程包括:后台服务器将消息封装为json数据,封装过程中,还会封装消息的名称;后台服务器将封装后包含消息名称的json数据推送至Websocket服务。可选的,所涉及Websocket服务接收后台服务器推送的json数据,并通过广播的形式将其发送至前台服务器。可选的,当后台服务器与Websocket服务建立连接时,在前台服务器通过注册消息名称的方式监听Websocket服务,注册的消息名称与后台服务器封装的消息名称相同;随后,当前台服务器接收到Websocket服务推送的消息时,基于前台服务器注册的消息名称,对消息进行处理,同时对无用的消息进行过滤;最后,将处理后的消息实时推送至用户。可选的,在前台服务器,最多只能注册一个消息名称;若前台服务器需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。其次,本专利技术还提供一种基于Websocket协议的消息推送系统,解决上述技术问题采用的技术方案如下:一种基于Websocket协议的消息推送系统,其包括:Websocket服务模块、后台模块和前台模块;后台模块和前台模块之间通过Websocket服务模块建立连接;在用户通过前台模块向后台模块发送浏览记录时:后台模块向Websocket服务模块推送消息,Websocket服务模块接收后台模块推送的消息,并发送至前台服务器,前台模块监听并接收Websocket服务模块推送的消息,且前台模块自行处理消息,并实时推送给用户。可选的,所涉及后台模块将消息封装为json数据,封装过程中,还会封装消息的名称;后台模块将封装后包含消息名称的json数据推送至Websocket服务模块。可选的,所涉及Websocket服务模块接收后台模块推送的json数据,并通过广播的形式将其发送至前台模块。可选的,所涉及后台模块与Websocket服务模块建立连接时,在前台模块通过注册消息名称的方式监听Websocket服务模块,注册的消息名称与后台模块封装的消息名称相同;前台模块接收到Websocket服务模块推送的消息时,基于前台模块注册的消息名称,对消息进行处理,同时对无用的消息进行过滤;前台模块,将处理后的消息实时推送至用户。优选的,所涉及前台模块最多只能注册一个消息名称;若前台模块需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。本专利技术的一种基于Websocket协议的消息推送方法及系统,与现有技术相比具有的有益效果是:本专利技术采用Websocket协议,Websocket协议是独立的、创建在TCP上的协议,在前台服务器和后台服务器之间交换数据时,用于协议控制的数据包头部相对较小,服务传送消息的开销减少,后台服务器可以随时主动给前台服务器下发数据,可以让用户更加快速、更高效率的获取到自己所需要的信息,提高了用户的信息提取速率,增加了用户体验。附图说明附图1是本专利技术实施例一的流程示意图;附图2是本专利技术实施例二的连接框图。附图中各标号信息表示:1、Websocket服务模块,2、后台模块,3、前台模块。具体实施方式为使本专利技术的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本专利技术的技术方案进行清楚、完整的描述。实施例一:结合附图1,本实施例提出一种基于Websocket协议的消息推送方法,该方法的实现过程包括:在前台服务器和后台服务器之间建立Websocket服务;在用户通过前台服务器向后台服务器发送浏览记录时:后台服务器向Websocket服务推送相关消息,Websocket服务接收推送消息并发送至前台服务器本文档来自技高网
...

【技术保护点】
1.一种基于Websocket协议的消息推送方法,其特征在于,该方法的实现过程包括:/n在前台服务器和后台服务器之间建立Websocket服务;/n在用户通过前台服务器向后台服务器发送浏览记录时:/n后台服务器向Websocket服务推送相关消息,/nWebsocket服务接收推送消息并发送至前台服务器,/n前台服务器监听并接收Websocket服务推送的消息,前台服务器自行处理消息,并实时推送给用户。/n

【技术特征摘要】
1.一种基于Websocket协议的消息推送方法,其特征在于,该方法的实现过程包括:
在前台服务器和后台服务器之间建立Websocket服务;
在用户通过前台服务器向后台服务器发送浏览记录时:
后台服务器向Websocket服务推送相关消息,
Websocket服务接收推送消息并发送至前台服务器,
前台服务器监听并接收Websocket服务推送的消息,前台服务器自行处理消息,并实时推送给用户。


2.根据权利要求1所述的一种基于Websocket协议的消息推送方法,其特征在于,后台服务器向Websocket服务推送相关消息具体过程包括:
后台服务器将消息封装为json数据,封装过程中,还会封装消息的名称;
后台服务器将封装后包含消息名称的json数据推送至Websocket服务。


3.根据权利要求2所述的一种基于Websocket协议的消息推送方法,其特征在于,Websocket服务接收后台服务器推送的json数据,并通过广播的形式将其发送至前台服务器。


4.根据权利要求3所述的一种基于Websocket协议的消息推送方法,其特征在于,当后台服务器与Websocket服务建立连接时,在前台服务器通过注册消息名称的方式监听Websocket服务,注册的消息名称与后台服务器封装的消息名称相同;
随后,当前台服务器接收到Websocket服务推送的消息时,基于前台服务器注册的消息名称,对消息进行处理,同时对无用的消息进行过滤;
最后,将处理后的消息实时推送至用户。


5.根据权利要求4所述的一种基于Websocket协议的消息推送方法,其特征在于,在前台服务器,最多只能注册一个消息名称;
若前台服务器需要建立多个消息,则需要统一注册为一个消息名称,再将消息进行处理后分发的相对应的组件。


6.一种基于Websocke...

【专利技术属性】
技术研发人员:曹博高翔宇吴楠
申请(专利权)人:山东汇贸电子口岸有限公司
类型:发明
国别省市:山东;37

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

1