[发明专利]手机客户端应用程序心跳包推送方法有效

专利信息
申请号: 201410557538.2 申请日: 2014-10-20
公开(公告)号: CN104284311B 公开(公告)日: 2018-10-12
发明(设计)人: 方言兵;张力鹏;刘捷 申请(专利权)人: 成都千业软件有限公司
主分类号: H04W4/14 分类号: H04W4/14;H04L29/08
代理公司: 成都坤伦厚朴专利代理事务所(普通合伙) 51247 代理人: 刘坤
地址: 610000 四川省成都*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 手机客户端 应用程序 心跳包 服务器 短信猫 推送 短信息 应用程序信息 短信息发送 初始连接 定时发送 短信通道 服务器端 解析处理 手机客户 信令通道 移动网络 自动获取 原有的 运营商 短信 信令 调用 发送 增设 占用
【说明书】:

发明涉及应用程序信息推送领域,提供了一种手机客户端应用程序心跳包推送方法,方法包括如下步骤:A、手机客户端与服务器端建立初始连接后,手机客户端应用程序自动获取服务器上增设的短信猫的号码;B、手机客户端应用程序利用运营商特殊短信通道定时发送心跳包短信到对应服务器的短信猫上;C、服务器从短信猫处调用接收心跳包短信息;D、服务器对接收短信息进行解析处理。本发明不占用原有的信令通道,采用短信息发送方式,可以减少应用程序频繁发送心跳包对手机客户端的负担,又避免对移动网络的冲击,减少信令风暴。

技术领域

本发明属于应用程序信息推送领域,具体涉及一种手机客户端应用程序心跳包推送方法。

背景技术

我们的系统是C/S结构,存在服务器和客户端。由于网络的不确定性,服务器和客户端的连接并不稳定。如何让服务器能获取到客户端的在线状态呢, 我们采用的是心跳包技术。所谓心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。

网络中的接收和发送数据都是使用SOCKET进行实现。但是如果此套接字已经断开,那发送数据和接收数据的时候就一定会有问题。如何判断这个套接字是否还可以使用呢, 我们在系统中创建了心跳机制。“心跳”就是定时发送一个自定义的结构体(心跳包或心跳帧),让对方知道自己“在线”。以确保链接的有效性。

客户端通过心跳包向服务器定时发送简单的信息告诉它我还在。代码就是每隔几分钟发送一个固定信息给服务端,如果服务端20秒内没有收到客户端信息则视客户端断开。发包方:是客户端。心跳包之所以叫心跳包是因为:它像心跳一样每隔15秒发一次,以此来告诉服务器,这个客户端还活着。事实上这是为了保持长连接,至于这个包的内容,是很小的包,只包含包头的一个空包。这样我们就可以检查到客户端机器断电、网线拔出、防火墙这些意外断线。

心跳包的具体实现是在逻辑层发送空的包来实现的。下一个定时器,在一定时间间隔下发送一个空包给服务器端。服务器如果在一定时间内收不到客户端发送过来的包,那就只有认定说掉线了。如果没有心跳机制,在长连接下,有可能很长一段时间都没有数据往来。理论上说,这个连接是一直保持连接的,但是实际情况中,如果客户端出现什么故障是难以知道的。更要命的是,有的防火墙会自动把一定时间之内没有数据交互的连接给断掉。所以这个时候,我们必须需要心跳包,用于维持长连接,保活。总的来说,心跳包技术主要也就是用于长连接的保活和断线处理。

目前的客户端软件可以在windows上也可以在android或者ios移动设备上运行,在心跳机制下,客户端每隔15秒就要给服务器发送一次心跳包,由于频繁的发包,App将会更加耗电,移动设备的电池续航时间将降低。另外,由于频繁发包,也会占用一定的cpu资源,在有其他大型应用运行时,也更可能出现死机等不良的用户体验。最重要的,当服务器断线或者关机后,客户仍然会继续尝试给服务器发送心跳包,这种情况下发送不成功又持续尝试发送的过程,非常占用cpu资源,用户会明显感觉到系统卡住,动不了。特别在移动网络下,大量的心跳包会对移动运营商的网络产生信令风暴。

发明内容

本发明的目的是提供一种手机客户端应用程序心跳包推送方法,利用运营商网络通过短信息方式向服务器发送。

为实现上述发明目的,本发明采用的技术方案是:方法包括如下步骤:A、手机客户端与服务器端建立初始连接后,手机客户端应用程序自动获取服务器上增设的短信猫的号码;B、手机客户端应用程序利用运营商特殊短信通道定时发送心跳包短信到对应服务器的短信猫上;C、服务器从短信猫处调用接收心跳包短信息;D、服务器对接收短信息进行解析处理。

优选的:所述手机客户端应用程序自动调用服务器内函数GSMSN()来获取服务器上增设的短信猫的号码。

优选的:所述手机客户端应用程序发送的短信内容需要包括手机唯一识别信息的CPU序列号,通过调用函数GETCPUSERIAL()来实现。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都千业软件有限公司,未经成都千业软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410557538.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top