网络连接方法及装置与流程

文档序号:11327582阅读:320来源:国知局
网络连接方法及装置与流程

本申请属于计算机技术领域,具体地说,涉及一种网络连接方法及装置。



背景技术:

网络直播是一种可以通过网络在交流平台上观看直播数据的新兴技术,用户可以利用观看客户端观看直播数据,其中,直播数据可以是视频、音频和/或文字等多媒体数据。在观看直播数据的过程中,观看用户可以通过观看客户端发送或接受弹幕消息,以增加观看直播数据的趣味性。

为了能够使用户及时发送或接受弹幕消息,需要保持观看客户端与弹幕服务端的长连接状态。现有技术中,观看客户端通常以固定频率向弹幕服务端发送探测消息,若接收到弹幕服务端的响应消息,表明长连接状态正常,否则即判断二者长连接断开,则重新建立连接。

由于观看客户端向弹幕服务端发送探测消息时,频率是固定的,因此发送探测消息的探测间隔也是固定的。



技术实现要素:

有鉴于此,本申请提出了一种网络连接方法及装置,解决了现有技术中网络资源浪费、网络检测不及时的问题。

为了解决上述技术问题,本申请第一方面提供了一种网络连接方法,该方法包括:

根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔;

按照所述探测间隔向服务端发送探测消息;

确定所述探测消息的响应时长;

根据所述响应时长,判断是否重新连接所述客户端与所述服务端。

优选地,所述方法还包括:

确定所述当前运行状态对应的响应条件;

所述判断是否重新连接所述客户端与所述服务端包括:

判断所述响应时长是否满足所述响应条件;

如果所述响应时长满足所述响应条件,重新连接所述客户端与所述服务端。

优选地,所述方法还包括:

确定所述当前运行状态的重连要求;

所述根据所述响应时长,判断是否重新连接所述客户端与所述服务端包括:

根据所述响应时长,判断是否按照所述重连要求重新连接所述客户端与所述服务端。

优选地,所述当前运行状态包括:当前消息传输数量、网络连接类型以及网络连接阶段;

所述根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔包括:

如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定所述探测间隔为第一时间间隔;

如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定所述探测间隔为第二时间间隔;

其中,所述第一时间间隔小于所述第二时间间隔,所述第一数量阈值大于或等于所述第二数量阈值。

优选地,所述响应条件为所述响应时长大于响应判断阈值;

所述确定所述当前运行状态对应的响应条件包括:

如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定对应的响应条件中所述响应判断阈值为第一判断阈值;

如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定对应的响应条件中所述响应判断阈值为第二判断阈值;

其中,所述第一判断阈值小于所述第二判断阈值,所述第一数量阈值大于或等于所述第二数量阈值。

优选地,所述重连要求包括重连次数;

所述确定所述当前运行状态对应的重连要求包括:

如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定对应的重连要求中的所述重连次数为第一重连次数;

如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定对应的重连要求中的所述重连次数为第二重连次数;

其中,所述第一重连次数小于所述第二重连次数,所述第一数量阈值大于或等于所述第二数量阈值。

本申请的第二方面提供了一种网络连接装置,该装置包括一下几个模块:

第一确定模块,用于根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔;

消息发送模块,用于按照所述探测间隔向服务端发送探测消息;

第二确定模块,用于确定所述探测消息的响应时长;

连接判断模块,用于根据所述响应时长,判断是否重新连接所述客户端与所述服务端。

优选地,所述装置还包括:

第三确定模块,用于确定所述当前运行状态对应的响应条件;

所述连接判断模块包括:

第一连接单元,用于如果所述响应时长满足所述响应条件,重新连接所述客户端与所述服务端。

优选地,所述装置还包括:

第四确定模块,用于确定所述当前运行状态的重连要求;

所述连接判断模块包括:

第一判断单元,用于判断所述响应时长是否满足所述响应条件;

第二连接单元,用于根据所述响应时长,判断是否按照所述重连要求重新连接所述客户端与所述服务端。

优选地,所述当前运行状态包括:当前消息传输数量、网络连接类型以及网络连接阶段;

所述第一确定模块包括:

第一确定单元,用于如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定所述探测间隔为第一时间间隔;

第二确定单元,用于如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定所述探测间隔为第二时间间隔;

其中,所述第一时间间隔小于所述第二时间间隔,所述第一数量阈值大于或等于所述第二数量阈值。

优选地,所述响应条件为响应时长大于响应判断阈值;

所述第三确定模块包括:

第三确定单元,用于如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定对应的响应条件中所述响应判断阈值为第一判断阈值;

第四确定单元,用于如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定对应的响应条件中所述响应判断阈值为第二判断阈值;

其中,所述第一判断阈值小于所述第二判断阈值,所述第一数量阈值大于或等于所述第二数量阈值。

优选地,所述重连要求包括重连次数;

所述第四确定模块包括:

第五确定单元,用于如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定对应的重连要求中的所述重连次数为第一重连次数;

第六确定单元,用于如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定对应的重连要求中的所述重连次数为第二重连次数;

其中,所述第一重连次数小于所述第二重连次数,所述第一数量阈值大于或等于所述第二数量阈值。

本申请实施例中,根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔,当前运行状态不同时,所述探测间隔不同,进而可以根据网络连接状态实时确定探测间隔,以按照所述探测间隔向服务端发送探测消息,在接收到响应消息时,根据所述响应时长即判断是否重新连接所述客户端与所述服务端。所述探测间隔可以结合当前运行状态而动态变化,在保证网络资源不浪费的同时,提高了网络连接检测的及时性,确保了客户端与服务端之间消息通讯的及时性,使二者的连接状态更稳定。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本申请实施例的一种网络连接方法的一个实施例的流程图;

图2是本申请实施例的一种网络连接方法的又一个实施例的流程图;

图3是本申请实施例的一种网络连接装置的一个实施例的结构示意图。

具体实施方式

以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。

本发明实施例主要应用于通过建立网络长连接以传输消息的网络通信系统中,例如,传输弹幕消息的网络直播系统。

以网络直播系统为例,在网络直播过程中,观看客户端可以接收或者发送弹幕消息,以提高网络直播的趣味性,目前的一种弹幕承载方式主要是,为弹幕消息设置弹幕服务端,观看用户发送的弹幕消息可以保存至弹幕服务端,弹幕服务端中的弹幕消息也可以发送至观看客户端进行播放。为了使观看客户端与弹幕服务端能够进行通讯,需要保持观看客户端与弹幕服务端之间的长连接状态。

观看客户端为了确定是否与弹幕服务端保持长连接状态,会以固定频率定时向弹幕服务端发送探测消息,以确定观看客户端是否与弹幕服务端的长连接是否断开。但是,发明人在研究过程中发现,当弹幕消息传输量过多或者网络连接状况较差时,可能会造成在一个探测间隔内连接断开,弹幕消息传输受到影响;而在弹幕消息传输量较小或者网络连接状态较好,固定频率可能相对较高,导致探测消息频繁发送,占用较多网络资源,造成网络拥堵。

发明人经过进一步研究发现,客户端的运行状态可以影响弹幕消息的传输质量,例如,当客户端较为繁忙时,需要高质量的连接状态,当客户端的消息传输较少时,需要一般质量的连接状态即可,据此提出了本申请的技术方案。在本发明实施例中,根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔,以按照所述探测间隔向服务端发送探测消息,确定所述探测消息的响应时长,根据所述响应时长,判断是否重新连接所述客户端与所述服务端。所述探测间隔随着所述当前运行状态实时发生变化,以保障能够及时获知客户端与服务端的连接情况,确保在连接断开时能够及时重连,以保障消息传输的可靠性,同时,还可以避免占用较多网络资源,导致网络资源浪费造成的网络资源浪费。

下面将结合附图对本申请的技术方案进行详细描述。

图1为本申请实施例提供的一种网络连接方法的一个实施例流程图,该方法可以包括以下几个步骤:

101:根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔。

其中,不同的当前运行状态对应不同的探测间隔。

可选地,所述客户端是指能够发送探测消息的客户端,不同的客户端使用的系统平台可以不同,例如,所述客户端可以使用安卓系统提供的平台、可以使用ios系统提供的平台还可以使用windows系统提供的平台。服务端与客户端可以使用不同的平台,因此,本申请实施例中,服务端与客户端可以跨平台,在进行消息探测时,不限定所述客户端与所述服务端所使用的软件系统的平台类型。

102:按照所述探测间隔向服务端发送探测消息。

可选地,所述探测消息可以是指客户端发送的探测信号,探测信号在发送后,服务端可以响应所述探测信号,并产生一个响应信号发送至客户端,以使客户端可以接收所述服务端发送的响应消息。

作为一种可能的实现方式,所述按照所述探测间隔向服务端发送探测消息可以包括:按照所述探测间隔向服务端发送探测信息,并接收服务端发送的响应消息。

所述按照所述探测间隔向服务端发送探测消息之后,所述方法还可以包括:判断是否接收到服务端发送的响应消息;

如果是,则执行步骤103;

如果否,则按照所述探测间隔继续向服务端发送探测消息。

所述按照所述探测间隔继续向服务端发送探测消息时,可以统计所述探测消息的发送次数。

103:确定所述探测消息的响应时长。

所述探测消息被发送到服务端后,如果长连接处于正常状态,客户端可以接收服务端发送的响应消息,所述响应时长可以是指所述探测消息发送之后开始计时,至接收到服务端的回复消息时的时间间隔。

104:根据所述响应时长,判断是否重新连接所述客户端与所述服务端。

客户端与服务端处于长连接状态时,客户端可以接收到服务端的响应消息,这时,所述响应时长较小;客户端与服务端连接断开时,客户端不能接收服务端的响应消息,这时,响应时长较长甚至接收不到响应消息,则可以确定客户端与服务端的长连接断开。

作为一个实施例,所述根据所述响应时长,判断是否重新连接所述客户端与所述服务端可以包括:

判断所述响应时长是否满足响应条件;

如果所述响应时长满足所述响应条件时,重新连接所述客户端与所述服务端。

可选地,所述响应条件可以是所述响应时长大于响应判断阈值。

所述响应判断阈值可以是预先设置的固定判断阈值,例如,可以将所述响应判断阈值预先设置为5s(秒)。

作为又一个实施例,所述根据所述响应时长,判断是否重新连接所述客户端与所述服务端可以包括:

根据所述响应时长,判断是否按照所述重连要求重新连接所述客户端与所述服务端。

根据响应时长确定需要重新连接客户端与服务端时,可以按照所述重连要求重新连接所述客户端与所述服务端。

可选地,所述重连要求可以包括重连次数,由于一次重新连接可能无法连接成功,可以进行多次重连。因此,可以预先设置重连次数,该重连次数可以是固定次数,适用于限制重接操作的次数,当然为了进一步保证检测及时性以及避免网络资源浪费,也可以结合当前运行状态进行动态设置。

因此,根据响应时长确定需要重新连接客户端与服务端时,可以按照所述重连次数,进行重新连接。

其中,若按照该重连次数重新连接所述客户端与所述服务端时,如果在第n次重新连接时,即连接成功,可以结束重连流程。其中n=1、2、……、m,m即为重连次数。

本发明实施例中,通过当前运行状态实时确定对应的探测间隔,并根据所述探测间隔向服务端发送探测消息,以确定所述探测消息的响应时长,从而根据所述响应时长判断客户端与所述服务端的连接状态,在连接失败时,重新连接客户端与服务端,进而保障了二者连接的稳定性,提高所述弹幕消息的传输效果。

作为一种可能的实现方式,所述当前运行状态可以包括:消息传输数量、网络连接类型以及网络连接阶段。

所述消息传输数量为当前时刻消息的传输数量的大小,可选地,所述消息可以是指弹幕消息。所述网络传输数量较大时,网络负载较重,网络连接也容易断开,因此,发送探测消息的探测间隔可以较小,以确保客户端与服务端处于质量较高的长连接状态;所述网络传输数量较小时,对网络要求较低,网络负载也较低,网络连接相对稳定,因此发送探测消息的探测间隔可以较大。因此,可以设置不同的消息传输数量阈值。可选地,所述传输数量阈值可以包括第一数量阈值、第二数量阈值。所述第一数量阈值大于等于所述第二数量阈值。

所述网络连接类型是指当前客户端所连接的网络种类,所述网络连接类型可以是无线网络,有线网络,还可以是移动蜂窝网络,3g网络,4g网络。可选地,所述网络连接类型可以按照网络原理的不同设置为第一网络连接类型以及第二网络连接类型。其中,第一网络连接类型的网络运行状况优于第二网络连接类型的网络运行状况。

第一网络连接类型可以包括:无线网络或者有线网络,所述第一网络连接类型的网络运行状况较好、无数据流量限制、数据传输速度较高,因此,可以将发送探测消息的探测间隔设置较短,以在保证不影响网络负载的同时,保障连接的稳定性;第二网络连接类型可以包括:移动蜂窝网络、3g网络或者4g网络,所述第二网络连接类型中,使用数据流量进行计费并且数据传输速度较低,可以将发送探测消息的探测时间设置较长,使得既不影响网络负载,且可以节约用户资费。

其中,客户端与服务端建立长连接的过程可以包括:客户端向服务端发送建立连接请求,服务端对客户端进行验证;验证通过之后,服务端即建立与客户端的长连接。

所述网络连接阶段可以是指客户端与所述服务端建立连接时的不同阶段。可选地,所述不同的连接阶段至少可以包括第一连接阶段、第二连接阶段,所述第一连接阶段可以是指客户端向服务端建立连接请求时以及服务端对客户端进行验证的阶段。所述第二连接阶段可以是客户端与服务端处于长连接状态。

作为一个实施例,所述根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔可以包括:

如果所述当前消息的传输数量大于第一数量阈值、所述当前网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定所述消息探测间隔为第一时间间隔;

如果所述当前消息的传输数量小于第二数量阈值、所述当前网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定所述消息探测间隔为第二时间间隔;

其中,所述第一时间间隔小于所述第二时间间隔,所述第一数量阈值小于或等于所述第二数量阈值。

所述第一时间间隔以及所述第二时间间隔均是由当前运行状态获取的,在当前运行状态不同时,所述第一时间间隔以及所述第二时间间隔不同。

不同的消息传输数量,对当前网络运行状态的要求不同。当前消息数量较大时,对所述当前网络运行状态要求较高,可以确保消息的及时传输,因此,可以在所述第一数量阈值较大时,所述第一时间间隔可以较小。当前消息数量较小时,对当前网络的运行状态要求不高,因此,所述第二数量阈值较小时,所述第二时间间隔可以较大。

本发明实施例中,当前运行状态可以包括不同的内容,在确定探测间隔时可以按照不同的运行状态的内容进行确定,从而可以使所述探测间隔的准确度更高。

发明人经进一步研究发现,响应判断阈值如果是固定的,当需要进行及时的连接判断时,响应判断阈值相对较大,可能造成连接判断的不准确;当不需要进行及时的消息判断时,响应判断阈值相对较小,会导致误判,在长连接未断开的情况下,即会重新连接客户端与所述服务端,导致浪费系统资源。

因此,在某些实施例中,为了使响应时长的判断更合理,更符合用户要求,所述方法还可以包括:

确定所述当前运行状态对应的响应条件。

则所述根据所述响应时长,判断是否重新连接所述客户端与所述服务端可以包括:

判断所述响应时长是否满足所述响应条件;

如果所述响应时长满足所述响应条件,重新连接所述客户端与所述服务端。

所述响应条件是根据当前运行状态而确定的,随着当前运行状态的变化而变化,当前运行状态不同时,所对应的响应条件不同。

作为一种可能的实现方式,所述响应条件可以是指所述响应时长大于响应判断阈值。

所述响应判断阈值是指用于判断在规定时间内是否接收到响应消息的时间阈值,由于所述响应条件是根据当前运行状态而确定的,因此所述响应判断阈值可以是根据所述当前运行状态而确定的。所述当前运行状态可以包括:消息传输数量、网络连接类型以及网络连接阶段。

因此,所述确定所述当前运行状态对应的响应条件可以包括:

如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一类型和/或所述网络连接阶段为第一连接阶段,确定对应的响应条件中所述响应判断阈值为第一判断阈值;

如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二类型和/或所述网络连接阶段为第二连接阶段,确定对应的响应条件中所述响应判断阈值为第二判断阈值;

其中,所述第一判断阈值小于所述第二判断阈值,所述第一数量阈值大于或等于所述第二数量阈值。

所述响应判断阈值为第一判断阈值,且判断所述响应时长大于所述第一判断阈值时,重新连接所述客户端与所述服务端。

所述响应判断阈值为第二判断阈值,且判断所述响应时长大于所述第二判断阈值时,重新连接所述客户端与所述服务端。

所述第一判断阈值与所述第二判断阈值是根据所述网络的运行状况确定的,不同的网络运行状况第一判断阈值与所述第二判断阈值的具体值不同,也即所述第一判断阈值与所述第二判断阈值是随着所述网络运行状况而发生变化的。

本发明实施例中,通过网络运行状态动态设置所述第一判断阈值以及第二判断阈值,进而通过第一判断阈值以及第二判断阈值来确定是否确定连接所述客户端与所述服务端,使得所述长连接判断的消息更加符合当前运行状态的要求,减少错误判断,提高系统的稳定性。

发明人经进一步研究发现,重连次数如果是固定的,当需要进行及时的连接判断时,重连次数较大时,可能造成连接判断不够准确;重连次数较小时,会导致在长连接未断开的情况下,即会进行无意义的重连,造成浪费系统资源。

因此,在某些实施例中,为了使重连次数更精确,更符合网络状态要求,所述方法还可以包括:

确定当前运行状态的重连要求;

所述根据所述响应时长,判断是否重新连接所述客户端与所述服务端可以包括:

根据所述响应时长,判断是否按照所述重连要求重新连接所述客户端与所述服务端。

根据所述响应时长,如果确定需要重新连接所述客户端与所述服务端,即按照所述重连要求重新连接所述客户端与所述服务端。

所述重连要求是根据当前运行状态而确定的,随着当前运行状态的改变而改变,当前运行状态不同时,对应的重连要求不同。

作为一种可能的实现方式,所述重连要求可以包括重连次数。

所述重连次数是指所述客户端在未接收到所述服务端发送的响应消息时,向所述服务端发送重连请求的次数。由于所述重连要求是根据当前运行状态而确定的,因此所述重连次数也可以根据当前运行状态而确定。所述当前运行状态可以包括:消息传输数量、网络连接类型以及网络连接阶段。

所述确定所述当前运行状态对应的重连要求可以包括:

如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一类型或者所述网络连接阶段为第一连接阶段,确定对应的重连要求中的所述重连次数为第一重连次数;

如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二类型或者所述网络连接阶段为第二连接阶段,确定对应的重连要求中的所述重连次数为第二重连次数;

其中,所述第一重连次数小于所述第二重连次数,所述第一数量阈值大于或等于所述第二数量阈值。

所述重连次数为第一重连次数时,根据所述第一重连次数重新连接所述客户端与所述服务端。

所述重连次数为第二重连次数时,根据所述第二重连次数重新连接所述客户端与所述服务端。

本发明实施例中,通过网络运行状态确定的重连次数更加符合网络的运行状态,进而可以根据所述重连次数来精确确定是否重新连接所述客户端与所述服务端,提高了所述客户端与所述服务端之间的长连接的稳定性。

图2为本申请实施例提供的一种网络连接方法的又一个实施例的流程图,该方法可以包括以下几个步骤:

201:根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔、响应条件以及重连要求。

其中,所述当前运行状态可以包括当前消息传输数量、网络连接类型以及网络连接阶段;

可选地,所述根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔;

如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定所述探测间隔为第一时间间隔;

如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定所述探测间隔为第二时间间隔;

其中,所述第一时间间隔小于所述第二时间间隔,所述第一数量阈值大于或等于所述第二数量阈值。

其中,所述响应条件为响应时长大于响应判断阈值,所述重连要求可以包括重连次数。

可选地,所述确定所述当前运行状态对应的响应条件可以包括:

如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定对应的响应条件中所述响应判断阈值为第一判断阈值;

如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定对应的响应条件中所述响应判断阈值为第二判断阈值;

其中,所述第一判断阈值小于所述第二判断阈值,所述第一数量阈值大于或等于所述第二数量阈值。

可选地,所述确定所述当前运行状态对应的重连要求可以包括:

如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定对应的重连要求中的所述重连次数为第一重连次数;

如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定对应的重连要求中的所述重连次数为第二重连次数;

其中,所述第一重连次数小于所述第二重连次数,所述第一数量阈值大于或等于所述第二数量阈值。

202:按照所述探测间隔向服务端发送探测消息。

203:确定所述探测消息的响应时长。

204:判断所述响应时长是否满足所述响应条件,如果是,执行步骤205,如果否,返回步骤203继续执行。

205:按照所述重连要求,重新连接所述客户端与所述服务端。

本发明实施例中,通过当前运行状态确定探测间隔、响应条件以及重连要求,并根据所述响应条件以及重连要求判断是否重新连接所述客户端与所述服务端,在保证资源利用充分的同时,提高了网络连接检测的及时性,确保了客户端与服务端之间网络连接的稳定性。

图3为本申请实施例提供的一种网络连接装置的一个实施例的结构示意图,该装置可以包括以下几个模块:

第一确定模块301,用于根据客户端的当前运行状态,确定所述当前运行状态对应的探测间隔。

其中,不同的当前运行状态对应不同的探测间隔。

可选地,所述客户端是指能够发送探测消息的客户端,不同的客户端使用的系统平台可以不同,例如,所述客户端可以使用安卓系统提供的平台、可以使用ios系统提供的平台还可以使用windows系统提供的平台。服务端与客户端可以使用不同的平台,因此,本申请实施例中,服务端与客户端可以跨平台,在进行消息探测时,不限定所述客户端与所述服务端所使用的软件系统的平台类型。

消息发送模块302,用于按照所述探测间隔向服务端发送探测消息。

可选地,所述探测消息可以是指客户端器发送的探测信号,探测信号在发送后,服务端可以响应所述探测信号,并产生一个响应信号发送至客户端,以使客户端可以接收所述服务端发送的响应消息。

作为一种可能的实现方式,所述消息发送模块具体可以用于:按照所述探测间隔向服务端发送探测信息,并接收服务端发送的响应消息。

所述按照所述探测间隔向服务端发送探测消息之后,所述消息发送模块具体还可以用于:判断是否接收到服务端发送的响应消息;

如果否,则按照所述探测间隔继续向服务端发送探测消息。

所述按照所述探测间隔继续向服务端发送探测消息时,可以统计所述探测消息的发送次数。

第二确定模块303,用于确定所述探测消息的响应时长;

所述探测消息被发送到服务端后,如果长连接状态正常,客户端可以接收到服务端发送的响应消息,所述响应时长可以是指所述探测消息发送之后开始计时,至接收到服务端的回复消息时的时间间隔。

作为一种可能的实现方式,所述响应时长可以通过记录所述探测消息的发送时间,以及所述响应消息的接收时间,并计算二者之间的时间差获得。

连接判断模块304,用于根据所述响应时长,判断是否重新连接所述客户端与所述服务端。

客户端与服务端处于长连接状态时,客户端可以接收到服务端的响应消息,这时,所述响应时长较小;客户端与服务端连接断开时,客户端不能接收服务端的响应消息,这时,响应时长较长甚至接收不到响应消息,则可以确定客户端与服务端的长连接断开。

作为一个实施例,则所述连接判断模块具体可以用于:判断所述响应时长是否满足响应条件;如果所述响应时长满足所述响应条件,重新连接所述客户端与所述服务端。

可选地,所述响应条件可以是所述响应时长大于响应判断阈值。

所述响应判断阈值可以是预先设置的固定判断阈值,例如,可以将所述响应判断阈值预先设置为5s(秒)。

作为又一个实施例,所述连接判断模块具体可以用于:根据所述响应时长,判断是否按照所述重连要求重新连接所述客户端与所述服务端。

也即根据响应时长确定需要重新连接客户端与服务端时,可以按照所述重连要求重新连接所述客户端与所述服务端。

可选地,所述重连要求可以包括重连次数,由于一次重新连接可能无法连接成功,可以进行多次重连尝试。因此可以预先设置重连次数,该重连次数可以是固定次数,适用于指示全部重新连接操作。当然为了进一步保证检测及时性以及避免网络资源浪费,可以结合当前运行状态动态设置。

因此可以是根据响应时长确定需要重新连接客户端与服务端时,可以按照所述重连次数,进行重新连接。

其中,若按照该从重连次数重新连接所述客户端与所述服务端时,如果在第n次重新连接时,即连接成功,即可以结束重新连接流程。其中,n=1、2、…m,m即为重连次数。

本发明实施例中,通过当前运行状态实时确定对应的探测间隔,并根据所述探测间隔向服务端发送探测消息,以确定所述探测消息的响应时长,从而根据所述响应时长判断客户端与所述服务端的连接状态,在连接失败时,重新连接客户端与服务端,进而保障了二者连接的稳定性,提高所述弹幕消息的传输效果。

作为一种可能的实现方式,所述当前运行状态可以包括:消息传输数量、网络连接类型以及网络连接阶段。

所述消息传输数量可以为当前时刻消息的传输数量的大小。

可选地,所述消息可以是指弹幕消息。可以设置不同的消息传输数量阈值,可选地,所述传输数量阈值可以包括第一数量阈值、第二数量阈值。所述第一数量阈值大于所述第二数量阈值。

所述网络连接类型是指当前客户端所连接的网络种类,所述网络连接类型可以按照网络原理的不同设置为第一网络连接类型以及第二网络连接类型。其中,第一网络连接类型的网络运行状况优于第二网络连接类型的网络运行状况。

其中,客户端与服务端建立长连接的过程可以包括:客户端向服务端发送建立连接请求,服务端对客户端进行验证;验证通过之后,服务端即建立与客户端的长连接。

所述网络连接阶段可以是指客户端与所述服务端建立连接时的不同阶段。可选地,所述不同的连接阶段至少可以包括第一连接阶段、第二连接阶段,所述第一连接阶段可以是指客户端向服务端建立连接请求时以及服务端对客户端进行验证的阶段。所述第二连接阶段可以是客户端与服务端处于长连接状态。

作为一个实施例,所述第一确定模块可以包括:

第一确定单元,用于如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定所述探测间隔为第一时间间隔;

第二确定单元,用于如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定所述探测间隔为第二时间间隔;

其中,所述第一时间间隔小于所述第二时间间隔,所述第一数量阈值大于或等于所述第二数量阈值。

所述第一时间间隔以及所述第二时间间隔均是由当前运行状态获取的,在当前运行状态不同时,所述第一时间间隔以及所述第二时间间隔不同。

本发明实施例中,当前运行状态可以包括不同的内容,在确定探测间隔时可以按照不同的运行状态的内容进行确定,从而可以使所述探测间隔的准确度更高。

发明人经进一步研究发现,响应判断阈值如果是固定的,当需要进行及时的连接判断时,响应判断阈值相对较大,可能造成连接判断的不准确;当不需要进行及时的消息判断时,响应判断阈值相对较小,会导致误判,在长连接未断开的情况下,即会重新连接客户端与所述服务端,导致浪费系统资源。

因此,在某些实施例中,为了使响应时长的判断更合理,更符合用户要求,所述装置还可以包括:

第三确定模块,用于确定所述当前运行状态对应的响应条件;

所述连接判断模块可以包括:

第一判断模块,用于判断所述响应时长是否满足所述响应条件;

第一连接单元,用于如果所述响应时长满足所述响应条件,重新连接所述客户端与所述服务端。

作为一种可能的实现方式,所述响应条件可以是指所述响应时长大于响应判断阈值。

所述第三确定模块可以包括:

第三确定单元,用于如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定对应的响应条件中所述响应判断阈值为第一判断阈值;

第四确定单元,用于如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定对应的响应条件中所述响应判断阈值为第二判断阈值;

其中,所述第一判断阈值小于所述第二判断阈值,所述第一数量阈值大于或等于所述第二数量阈值。

则所述连接判断模块具体可以用于:

所述响应判断阈值为第一判断阈值,且判断所述响应时长大于所述第一判断阈值时,重新连接所述客户端与所述服务端。

所述连接判断模块具体还可以用于:

所述响应判断阈值为第二判断阈值,且判断所述响应时长大于所述第二判断阈值时,重新连接所述客户端与所述服务端。

本发明实施例中,通过网络运行状态动态设置所述第一判断阈值以及第二判断阈值,进而通过第一判断阈值以及第二判断阈值来确定是否确定连接所述客户端与所述服务端,使得所述长连接判断的消息更加符合当前运行状态的要求,减少错误判断,提高系统的稳定性。

发明人经进一步研究发现,重连次数如果是固定的,当需要进行及时的连接判断时,重连次数较大时,可能造成连接判断不够准确;重连次数较小时,会导致在长连接未断开的情况下,即会进行无意义的重连,造成浪费系统资源。

因此,在某些实施例中,为了使重连次数更精确,更符合网络状态要求,该装置还可以包括:

第四确定模块,用于确定所述当前运行状态的重连要求;

此时,所述连接判断模块可以包括:

第二连接单元,用于根据所述响应时长,判断是否按照所述重连要求重新连接所述客户端与所述服务端。

也即根据所述响应时长,如果确定需要重新连接所述客户端与所述服务端,即按照所述重连要求重新连接所述客户端与所述服务端。

所述重连要求是根据当前运行状态而确定的,随着当前运行状态的改变而改变,当前运行状态不同时,对应的重连要求不同。

作为一种可能的实现方式,所述重连要求可以包括重连次数;

所述第四确定模块可以包括:

第五确定单元,用于如果所述当前消息的传输数量大于第一数量阈值、所述网络连接类型为第一连接类型和/或所述网络连接阶段为第一连接阶段,确定对应的重连要求中的所述重连次数为第一重连次数;

第六确定单元,用于如果所述当前消息的传输数量小于第二数量阈值、所述网络连接类型为第二连接类型和/或所述网络连接阶段为第二连接阶段,确定对应的重连要求中的所述重连次数为第二重连次数;

其中,所述第一重连次数小于所述第二重连次数,所述第一数量阈值大于或等于所述第二数量阈值。

则所述连接判断模块具体可以用于:

所述重连次数为第一重连次数时,根据所述第一重连次数重新连接所述客户端与所述服务端。

所述连接判断模块具体还可以用于:

所述重连次数为第二重连次数时,根据所述第二重连次数重新连接所述客户端与所述服务端。

本发明实施例中,通过网络运行状态确定的重连次数更加符合网络的运行状态,进而可以根据所述重连次数来精确确定是否重新连接所述客户端与所述服务端,提高了所述客户端与所述服务端之间的长连接的稳定性。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素

上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1