本发明专利技术公开了一种消息推送方法及系统,该消息推送方法包括:建立服务器端与接收客户端的长链接以使服务器端与接收客户端通过通信协议进行通信;根据长链接将消息推送至接收客户端;以及确定消息的消息推送状态;其中,长链接为socket链接。本发明专利技术通过建立服务器端与接收客户端之间的长链接来实现服务器端向接收客户端推送消息,并通过确定消息推送状态来保证消息被推送至接收客户端,避免了不能保证消息被推送到手机上的问题;实现了在服务器端对消息进行管理,增加了信息安全性,并且降低了成本。
【技术实现步骤摘要】
本专利技术涉及互联网通信
,具体来说,涉及一种向安卓设备推送消息的消息推送方法及系统。
技术介绍
消息推送,是在互联网上通过定期传送用户需要的信息来减少信息过载的一项技术。消息推送技术通过自动传送信息给用户,来减少用于网络上搜索的时间。它根据用户的兴趣来搜索、过滤信息,并将信息定期推送给用户,帮助用户高效率地发掘有价值的信息。随着移动互联网的飞速发展,推送功能在手机应用中越来越重要,安卓手机作为一种标志性的手机产物,本身对消息推送功能具有良好的支持。现有的在安卓设备上常用的消息推送方法主要有以下几种:轮询方式:应用程序阶段性的与服务器进行连接并主动查询是否有新的消息到达。这种方法要求安卓设备必须能够实现与服务器之间的通信,而且还需要考虑轮询的频率,如果太慢可能导致某些消息的延迟,如果太快,则会大量消耗网络带宽和电池。SMS(Short Message Service)方式:在安卓平台上,可以通过拦截SMS消息并通过解析消息内容来了解服务器的意图,进而获取其显示内容进行处理。这种方法的好处是,可以实现实时操作。但目前很难找到免费的短消息发送网关来实现这种方法,因此需要向移动运营商缴纳相应的费用才可以实现,而且成本较高。持久连接方式:与服务器之间建立一个socket长链接,当有消息到达时,直接向客户端推送。此方案可以解决由轮询带来的性能问题,但是由于需要维持一个长链接,对于手机电池的消耗还是比较多。服务器对于消息的推送并不能百分之百推送到手机上。针对相关技术中的上述问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述问题,本专利技术提出一种消息推送方法及系统,能够确定消息推送状态,避免现有技术中的持久连接方式不能保证消息被推送到手机上的问题,还能够降低成本。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种消息推送方法,包括:建立服务器端与接收客户端的长链接以使服务器端与接收客户端通过通信协议进行通信;根据长链接将消息推送至接收客户端;以及确定消息的消息推送状态;其中,长链接为socket链接。优选地,在建立服务器端与接收客户端的长链接之后,还包括:保持长链接以保持服务器端与接收客户端进行通信。优选地,确定消息的消息推送状态,包括:返回消息接收成功指令以使服务器端确定消息推送状态。优选地,在长链接断开的情况下,重新建立服务器端与接收客户端的长链接。优选地,还包括:接收消息;对消息进行自定义封装;以及在接收客户端对自定义封装后的消息进行显示。优选地,建立服务器端与接收客户端的长链接,包括:对指定端口进行监听以与接收客户端进行通信。优选地,在对指定端口进行监听之后,还包括:接收客户端对指定端口发送长链接请求;服务器端接收到长链接请求后,返回请求成功指令;以及在接收客户端接收到请求成功指令后,生成服务器端与接收客户端的长链接。优选地,在根据长链接将消息推送至接收客户端之前,还包括:对消息进行一次封装。优选地,通信协议为XMPP协议或MQTT协议。根据本专利技术的另一方面,提供了一种消息推送系统,包括:建立链接模块,用于建立服务器端与接收客户端的长链接以使服务器端与接收客户端通过通信协议进行通信;其中,长链接为socket链接;以及服务器端用于根据长链接将消息推送至接收客户端,及确定消息的消息推送状态。本专利技术通过建立服务器端与接收客户端之间的长链接来实现服务器端向接收客户端推送消息,并通过确定消息推送状态来保证消息被推送至接收客户端,避免了不能保证消息被推送到手机上的问题;实现了在服务器端对消息进行管理,增加了信息安全性,并且降低了成本。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的消息推送方法的流程图;图2是根据本专利技术具体实施例的消息推送方法的服务器端初始化长链接的流程图;图3是根据本专利技术具体实施例的消息推送方法的接收客户端初始化长链接的流程图;图4是根据本专利技术具体实施例的消息推送方法的服务器端向接收客户端推送消息的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种消息推送方法。如图1所示,根据本专利技术实施例的消息推送方法包括以下步骤:步骤S101,建立服务器端与接收客户端的长链接以使服务器端与接收客户端通过通信协议进行通信,其中的长链接为socket链接;步骤S103,根据长链接将消息推送至接收客户端;以及步骤S105,确定消息的消息推送状态。上述技术方案,通过建立服务器端与接收客户端之间的长链接来实现服务器端向接收客户端推送消息,并通过确定消息推送状态来保证消息被推送至接收客户端,避免了现有技术中的持久连接方式不能保证消息被推送到手机上的问题;能够在服务器端对消息进行管理,增加了信息安全性,并且降低了成本。在一个实施例中,在步骤S101之后还包括以下步骤:保持长链接以保持服务器端与接收客户端进行通信。进一步地,在长链接断开的情况下,重新建立服务器端与接收客户端的长链接。通过例如断线重连等机制,来维持服务器端与接收客户端之间的长链接,进一步保证了消息能够被推送至相应的接收客户端。在一个实施例中,步骤S105包括以下步骤:返回消息接收成功指令以使服务器端对消息状态进行查询。通过上述消息到达反馈机制来确定消息推送状态。在一个实施例中,在步骤S103之前还包括以下步骤:对消息进行一次封装。在一个实施例中,在步骤S103之后还包括以下步骤:接收消息;对消息进行自定义封装;以及在接收客户端对自定义封装后的消息进行显示。其中,自定义封装可以是asmack封装。接收客户端可以根据实际需求对接收到的消息进行自定义封装,以制定不同的展示风格来显示消息。在一个实施例中,步骤S101包括:对指定端口进行监听以与接收客户端进行通信。进一步地,在对指定端口进行监听之后,还包括以下步骤:接收客户端对指定端口发送长链接请求;服务器端接收到长链接请求后,返回请求成功指令;以及在接收客户端接收到请求成功指令后,生成服务器端与接收客户端的长链接。通过对指定端口进行监听建立服务器端与接收客户端的长链接,并通过该指定端口进行服务器端与接收客户端之间的通信。通过服务器端与接收客户端之间的通信可以实现消息推送,还可以实现对接收客户端的注册和身份认证。在一个实施例中,上述服务器端与接收客户端进行通信的通信协议可以是XMPP(可扩展通讯和表示协议)或MQTT(Message Queuing TelemetryTransport,消息队列遥测传输)协议中的一种。下面结合图2、图3、和图4对本专利技术具体实施例的消息推送方法进行说明,在本实施例中,采用XMPP协议实现服务器端向接收客户端的消息推送。如图2所示,为服务器端初始化长链接的流程图。当服务器端开启后,会首先进入步骤S2本文档来自技高网...
【技术保护点】
一种消息推送方法,其特征在于,包括:建立服务器端与接收客户端的长链接以使所述服务器端与所述接收客户端通过通信协议进行通信;根据所述长链接将消息推送至所述接收客户端;以及确定消息的消息推送状态;其中,所述长链接为socket链接。
【技术特征摘要】
1.一种消息推送方法,其特征在于,包括:建立服务器端与接收客户端的长链接以使所述服务器端与所述接收客户端通过通信协议进行通信;根据所述长链接将消息推送至所述接收客户端;以及确定消息的消息推送状态;其中,所述长链接为socket链接。2.根据权利要求1所述的消息推送方法,其特征在于,在建立服务器端与接收客户端的长链接之后,还包括:保持所述长链接以保持所述服务器端与所述接收客户端进行通信。3.根据权利要求1所述的消息推送方法,其特征在于,确定消息的消息推送状态,包括:返回消息接收成功指令以使所述服务器端确定所述消息推送状态。4.根据权利要求2所述的消息推送方法,其特征在于,在所述长链接断开的情况下,重新建立所述服务器端与所述接收客户端的长链接。5.根据权利要求1所述的消息推送方法,其特征在于,还包括:接收所述消息;对所述消息进行自定义封装;以及在所述接收客户端对自定义封装后的消息进行显示。6.根据权利要求1所述的消息推送方法,其特征在于,建立服务器端与接收客户端...
【专利技术属性】
技术研发人员:蒙建康,张永杰,吕灼恒,赵欢,
申请(专利权)人:曙光信息产业北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。