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.如权利要求1所述的保持长连接的方法,其特征在于,所述服务终端的性能参数包括所述服务终端的CPU使用率以及所述服务终端的内存使用率。3.如权利要求2所述的保持长连接的方法,其特征在于,所述根据当前时间、发送心跳包的时间以及所述服务终端的性能参数计算距发送下一个心跳包的时间间隔通过以下方式实现:Dt=currentTime–startTimet=(Dt*1.2)*(cpu*mem)其中,currentTime为当前时间,startTime为发送心跳包的时间,cpu为所述服务终端的CPU使用率,mem为所述服务终端的内存使用率,t为时间间隔。4.如权利要求1所述的保持长连接的方法,其特征在于,所述根据所述时间间隔发送下一个心跳包至所述服务终端的步骤包括:若所述时间间隔小于预存储的第一时间间隔,则所述第一时间间隔到来时发送下一个心跳包至所述服务终端;若所述时间间隔大于预存储的第二时间间隔,则所述第二时间间隔到来时发送下一个心跳包至所述服务终端;若所述时间间隔大于预存储的第一时间间隔且小于预存储的第二时间间隔,则所述时间间隔到来时发送下一个心跳包至所述服务终端。5.如权利要求1所述的保持长连接的方法,其特征在于,所述客户终端发送的心跳包包括当前网络类型...
【专利技术属性】
技术研发人员:张磊,陈少杰,张文明,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。