保持长连接的方法及装置制造方法及图纸

技术编号:16431301 阅读:21 留言:0更新日期:2017-10-22 06:44
本发明专利技术实施例涉及互联网技术领域,具体涉及一种保持长连接的方法及装置,该保持长连接的方法包括接收所述服务终端对所述客户终端发送的心跳包进行应答的应答包,所述应答包包括所述服务终端的性能参数以及所述客户终端发送心跳包的时间,根据当前时间、发送心跳包的时间以及所述服务终端的性能参数计算距发送下一个心跳包的时间间隔,进而根据所述时间间隔发送下一个心跳包于服务终端,以与服务终端建立连接。由于所述时间间隔是根据该服务终端的性能参数实时计算,因此,减少了服务终端的压力,同时避免了客户终端不断地发送心跳包,节省了客户终端的电量以及流量,提高了用户体验感。

Method and device for maintaining long connection

The embodiment of the invention relates to the technical field of the Internet, in particular relates to a method and device for keeping long connection, the long connection method includes receiving the service terminal to send the client terminal of the heartbeat packet response response packet, the response packet includes the service terminal and the performance parameters the client terminal transmits a heartbeat packet time, calculate the time interval from the heartbeat packet to send the next performance parameters of the current time, send heartbeat packet time and the service terminal, and then send the time interval under a heartbeat packet in the service terminal, to establish a connection with the service terminal. Because of the time interval is according to the performance parameters of the service terminal real-time calculation, therefore, reduce the service terminal pressure, while avoiding the client terminal continues to send heartbeat packets, saves the customer terminal power and flow, improve the user experience.

【技术实现步骤摘要】
保持长连接的方法及装置
本专利技术涉及互联网
,具体而言,涉及一种保持长连接的方法及装置。
技术介绍
客户端与服务器进行消息推送的过程中需要保持客户端与服务器一直处于连接状态。传统的方式保持客户端与服务器长连接的方法是通过客户端不断发送心跳包的方式来保持的。传统方式中发送心跳包是客户端开启一个定时器,每次到定时器超时的时候给服务器发送一次心跳包与服务器进行一次信息交流,通过这种固定周期的心跳包通信来确保服务器与客户端之间的http连接不会断开。传统方案中最大的缺点是心跳包的不变性,当网络信号很差的时候会出现网络延迟大于心跳包的超时时间的时候,此时可能会导致多次发送心跳包的可能性,这样及浪费了客户端的流量开销也对客户端电量等有一定的开销。因此,提供一种新型的保持长连接的方法是十分必要的,以实现节省客户端的流量和电量开销,同时减小服务器的压力。
技术实现思路
本专利技术的目的在于提供一种保持长连接的方法,以实现节省客户终端的电量开销和流量开销,同时减少服务终端的压力,提高用户体验感。本专利技术的另一目的在于提供一种保持长连接的装置,以实现节省客户终端的电量开销和流量开销,同时减少服务终端的压力,提高用户体验感。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供了一种保持长连接的方法,应用于客户终端,所述客户终端与服务终端通信连接,所述方法用于保持所述客户终端与所述服务终端的长连接,所述方法包括:接收所述服务终端对所述客户终端发送的心跳包进行应答的应答包,所述应答包包括所述服务终端的性能参数以及所述客户终端发送心跳包的时间;根据当前时间、发送心跳包的时间以及所述服务终端的性能参数计算距发送下一个心跳包的时间间隔;根据所述时间间隔发送下一个心跳包至所述服务终端。第二方面,本专利技术实施例还提供了一种保持长连接的装置,应用于客户终端,所述客户端与服务终端通信连接,所述装置用于保持所述客户终端与所述服务终端的长连接,所述装置包括:接收模块,用于接收所述服务终端对所述客户终端发送的心跳包进行应答的应答包,所述应答包包括所述服务终端的性能参数以及所述客户终端发送的心跳包的时间;计算模块,用于根据当前时间、发送心跳包的时间以及所述服务终端的性能参数计算距发送下一个心跳包的时间间隔;发送模块,用于根据所述时间间隔发送下一个心跳包至所述服务终端。本专利技术实施例提供的一种保持长连接的方法及装置,该保持长连接的方法及装置均应用于客户终端,所述客户终端与服务终端连接,该保持长连接的方法用于保持客户终端和服务终端的连接。该保持长连接的方法包括接收所述服务终端对所述客户终端发送的心跳包进行应答的应答包,所述应答包包括所述服务终端的性能参数以及所述客户终端发送心跳包的时间,根据当前时间、发送心跳包的时间以及所述服务终端的性能参数计算距发送下一个心跳包的时间间隔,进而根据所述时间间隔发送下一个心跳包于服务终端,以与服务终端建立连接。由于所述时间间隔是根据该服务终端的性能参数实时计算,因此,减少了服务终端的压力,同时避免了客户终端不断地发送心跳包,节省了客户终端的电量以及流量,提高了用户体验感。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本专利技术实施例提供的一种保持长连接的方法的应用环境的示意图。图2示出了本专利技术实施例提供的一种保持长连接的方法的流程示意图。图3示出了本专利技术实施例提供的一种保持长连接的方法的子步骤的流程示意图。图4示出了本专利技术实施例提供的一种保持长连接的装置的功能模块示意图。图示:100-客户终端;200-网络;300-服务终端;110-保持长连接的装置;111-接收模块;112-计算模块;113-发送模块。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。请参照图1,是本专利技术实施例提供的一种保持长连接的方法的应用环境的示意图,该保持长连接的方法应用于客户终端100,该客户终端100可以是,但不限于,手机或平板电脑等移动电子设备。该客户终端100通过网络200与服务终端300通信连接,该服务终端300可以是,台式电脑等其他电子设备。该保持长连接的方法用于保持该客户终端100与服务终端300的连接,换句话说,该保持长连接的方法用于保持客户终端100与服务终端300之间的通信。请参照图2,是本专利技术实施例提供的一种保持长连接的方法的流程示意图,该保持长连接的方法包括:步骤S110,接收所述服务终端对所述客户终端发送的心跳包进行应答的应答包,所述应答包包括所述服务终端的性能参数以及所述客户终端发送心跳包的时间。在客户终端100与服务终端300进行通信时,客户终端100需要实时向服务终端300发送心跳包,以使得服务终端300知道与客户终端100保持着连接,以便于客户终端100与服务终端300间进行数据传递。该客户终端100向服务终端300发送心跳包,该心跳包可以包括,但不限于,当前网络类型、发送心跳包的时间以及当前网络信号强度,该当前网络类型表明当前网络为2G、3G、4G或Wi-Fi;该发送心跳包的时间为当前客户终端100向服务终端300发送心跳包的时间,由于客户终端100是持续不断地向服务终端300发送心跳包,因此,该发送心跳包的时间可以有效地区分不同的心跳包。如该心跳包可以为{NetType;startTime;signalIntensity},其中,NetType为当前网络类型,startTime为发送心跳包的时间,signalIntensity为当前网络信号强度。该服务终端300接收到客户终端100发送的心跳包后,将会对该心跳包进行应答,因此,该服务终端300接收心跳包后向客户终端100发出应答包,该应答包包括该服务终端300的性能参数以及客户终端100发送心跳包的时间。在本专利技术实施例中,该服务终端300的性能参数为服务终端300的CPU使用率以及服务终端300的内存使用率,容易理解的,该服务终端300的性能参数也可以根据实际需要进行设置。如该应答包的形式可以为{startTime;cpu;mem},其中,startTime为客户终端100发出心本文档来自技高网...
保持长连接的方法及装置

【技术保护点】
一种保持长连接的方法,其特征在于,应用于客户终端,所述客户终端与服务终端通信连接,所述方法用于保持所述客户终端与所述服务终端的长连接,所述方法包括:接收所述服务终端对所述客户终端发送的心跳包进行应答的应答包,所述应答包包括所述服务终端的性能参数以及所述客户终端发送心跳包的时间;根据当前时间、发送心跳包的时间以及所述服务终端的性能参数计算距发送下一个心跳包的时间间隔;根据所述时间间隔发送下一个心跳包至所述服务终端。

【技术特征摘要】
1.一种保持长连接的方法,其特征在于,应用于客户终端,所述客户终端与服务终端通信连接,所述方法用于保持所述客户终端与所述服务终端的长连接,所述方法包括:接收所述服务终端对所述客户终端发送的心跳包进行应答的应答包,所述应答包包括所述服务终端的性能参数以及所述客户终端发送心跳包的时间;根据当前时间、发送心跳包的时间以及所述服务终端的性能参数计算距发送下一个心跳包的时间间隔;根据所述时间间隔发送下一个心跳包至所述服务终端。2.如权利要求1所述的保持长连接的方法,其特征在于,所述服务终端的性能参数包括所述服务终端的CPU使用率以及所述服务终端的内存使用率。3.如权利要求2所述的保持长连接的方法,其特征在于,所述根据当前时间、发送心跳包的时间以及所述服务终端的性能参数计算距发送下一个心跳包的时间间隔通过以下方式实现:Dt=currentTime–startTimet=(Dt*1.2)*(cpu*mem)其中,currentTime为当前时间,startTime为发送心跳包的时间,cpu为所述服务终端的CPU使用率,mem为所述服务终端的内存使用率,t为时间间隔。4.如权利要求1所述的保持长连接的方法,其特征在于,所述根据所述时间间隔发送下一个心跳包至所述服务终端的步骤包括:若所述时间间隔小于预存储的第一时间间隔,则所述第一时间间隔到来时发送下一个心跳包至所述服务终端;若所述时间间隔大于预存储的第二时间间隔,则所述第二时间间隔到来时发送下一个心跳包至所述服务终端;若所述时间间隔大于预存储的第一时间间隔且小于预存储的第二时间间隔,则所述时间间隔到来时发送下一个心跳包至所述服务终端。5.如权利要求1所述的保持长连接的方法,其特征在于,所述客户终端发送的心跳包包括当前网络类型...

【专利技术属性】
技术研发人员:张磊陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1