网络检测方法、网络检测装置及智能终端与流程

文档序号:11181216阅读:917来源:国知局
网络检测方法、网络检测装置及智能终端与流程

本发明属于网络应用技术领域,尤其涉及一种网络检测方法、网络检测装置、智能终端及计算机可读存储介质。



背景技术:

随着通讯技术的快速发展,无线网络,特别是无线局域网(wlan,wirelesslocalareanet)在生活中各个方面都得到了广泛应用。由于无线局域网不需要布线,且传输速度较快,因而能够很好的弥补有限局域网的不足。而当前几乎所有的智能终端都支持通过无线保真(wifi,wirelessfidelity)接入无线局域网的热点(即hotspot)以实现上网功能。

然而,由于网络拥塞或网络限时上网等原因,在已连接网络的情况下,经常会出现所访问的页面长期打不开的情况,在此种情况下,需要用户进行多种上网尝试(例如尝试刷新或访问其它链接)才能确定是否网络出现问题,浪费了用户的时间。



技术实现要素:

有鉴于此,本发明提供了一种网络检测方法、网络检测装置、智能终端及计算机可读存储介质,旨在提高网络检测的准确性,并及时告知用户当前所连接网络的网络状态。

本发明实施例的第一方面提供了一种网络检测方法,包括:

在智能终端的联网状态下,周期性触发对所述智能终端的tcp检测并获取tcp数据包的收发状态,其中,所述联网状态为已连接无线网络的状态,所述tcp指传输控制协议,所述tcp数据包的收发状态分为如下两种:tcp数据包收发正常和tcp数据包收发异常;

若连续n1次获取到的所述收发状态均为tcp数据包收发正常,则基于超文本传输协议对所述智能终端进行网络检测,得到http检测结果,其中,所述http检测结果指示网络不连通或网络连通,其中,所述n1为不小于1的自然数;

若连续n2次获取到的所述收发状态均为tcp数据包收发正常且所述http检测结果指示网络连通,则确定所述智能终端当前处于可上网状态,其中,所述n2大于n1;

当确定所述智能终端当前处于可上网状态时,输出预设的可上网指示信息,以指示所述智能终端当前处于可上网状态。

基于本发明第一方面,在第一种可能的实现方式中,所述输出预设的可上网指示信息,包括:

在所述智能终端的状态栏中显示所述可上网指示信息。

基于本发明第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述若连续n1次获取到的所述收发状态均为tcp数据包收发正常,则基于超文本传输协议对所述智能终端进行网络检测,为:

若连续n1次获取到的所述收发状态均为tcp数据包收发正常,且所述智能终端当前的状态栏中未显示所述可上网指示信息,则基于超文本传输协议对所述智能终端进行网络检测;

若连续n1次获取到的所述收发状态均为tcp数据包收发正常,且所述智能终端当前的状态栏中已显示所述可上网指示信息,则确定所述智能终端当前处于可上网状态。

基于本发明第一方面,或者本发明第一方面的第一种可能的实现方式,或者本发明第一方面的第二种可能的实现方式,在第三种可能的实现方式中,若连续n1次获取到的所述收发状态均为tcp数据包收发正常,则所述网络检测方法还包括:

以预设的另一周期触发对所述智能终端的tcp检测并获取tcp数据包的收发状态,以提高tcp检测及获取tcp数据包的收发状态的频率。

基于本发明第一方面,或者本发明第一方面的第一种可能的实现方式,或者本发明第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述基于超文本传输协议对所述智能终端进行网络检测,得到http检测结果,包括:

向预设的n个服务器分别发送超文本传输协议连接请求;

当基于所述超文本传输协议连接请求与所述n个服务器中的任一服务器成功建立连接时,确定所述http检测结果为网络连通;

当基于所述超文本传输协议连接请求无法与所述n个服务器中的任一服务器成功建立连接时,确定所述http检测结果为网络不连通。

本发明实施例的第二方面提供了一种网络检测装置,包括:获取单元,用于在智能终端的联网状态下,周期性触发对所述智能终端的tcp检测并获取tcp数据包的收发状态,其中,所述联网状态为已连接无线网络的状态,所述tcp指传输控制协议,所述tcp数据包的收发状态分为如下两种:tcp数据包收发正常和tcp数据包收发异常;

http检测单元,用于当所述获取单元连续n1次获取到的所述收发状态均为tcp数据包收发正常时,基于超文本传输协议对所述智能终端进行网络检测,得到http检测结果,其中,所述http检测结果指示网络不连通或网络连通,其中,所述n1为不小于1的自然数;

确定单元,用于当所述获取单元连续n2次获取到的所述收发状态均为tcp数据包收发正常且所述http检测单元得到的所述http检测结果指示网络连通时,确定所述智能终端当前处于可上网状态,其中,所述n2大于n1;

网络状态指示单元,用于当所述确定单元确定所述智能终端当前处于可上网状态时,输出预设的可上网指示信息,以指示所述智能终端当前处于可上网状态。

基于本发明第二方面,在第一种可能的实现方式中,所述网络状态指示单元具体用于:当所述确定单元确定所述智能终端当前处于可上网状态时,在所述智能终端的状态栏中显示所述可上网指示信息。

基于本发明第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述http检测单元具体用于:当所述获取单元连续n1次获取到的所述收发状态均为tcp数据包收发正常,且所述智能终端当前的状态栏中未显示所述可上网指示信息时,基于超文本传输协议对所述智能终端进行网络检测;

所述确定单元还用于:当所述获取单元连续n1次获取到的所述收发状态均为tcp数据包收发正常,且所述智能终端当前的状态栏中已显示所述可上网指示信息时,确定所述智能终端当前处于可上网状态。

本发明第三方面提供一种智能终端,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述第一方面或者上述第一方面的任一可能实现方式中提及的网络检测方法。

本发明第四方面提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现上述第一方面或者上述第一方面的任一可能实现方式中提及的网络检测方法。

由上可见,在本发明方案中,在智能终端的联网状态下,周期性触发对该智能终端的tcp检测并获取tcp数据包的收发状态,并在连续n1次获取到的上述收发状态均为tcp数据包收发正常时,基于超文本传输协议对该智能终端进行网络检测,得到http检测结果,在连续获取到的上述收发状态均为tcp数据包收发正常且该http检测结果指示网络连通时,确定该智能终端当前处于可上网状态。通过结合tcp检测方式和基于超文本传输协议的网络检测方式,可以避免采用单一的网络检测方式导致检测结果不准确的情况,提高网络检测的准确性,另外,本发明在确定该智能终端当前处于可上网状态时,输出预设的可上网指示信息,以使得用户可以及时获知当前所连接网络的网络状态。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的网络检测方法一个实施例流程示意图;

图2为本发明提供的网络检测方法另一个实施例流程示意图;

图3为本发明提供的网络检测装置一个实施例结构示意图;

图4为本发明提供的智能终端一个实施例结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

应理解,下述方法实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对各实施例的实施过程构成任何限定。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一

本发明实施例提供一种网络检测方法,请参阅图1,本发明实施例中的网络检测方法包括:

步骤101、在智能终端的联网状态下,周期性触发对上述智能终端的tcp检测并获取tcp数据包的收发状态;

本发明实施例中,上述联网状态为已连接无线网络的状态。上述tcp为传输控制协议(即transmissioncontrolprotocol)的简写。

本发明实施例中,上述tcp检测在某些场景下也被称为tcp测试。上述触发对上述智能终端的tcp检测可包括如下过程:触发上述智能终端发送tcp数据包并捕获返回的tcp数据包。上述tcp数据包的收发状态分为如下两种:tcp数据包收发正常和tcp数据包收发异常。其中,tcp数据包收发正常是指在发出tcp数据包后能够在预设时间内收到返回的tcp数据包,tcp数据包收发异常是指在发出tcp数据包后无法在预设时间内收到返回的tcp数据包。

具体的,tcp检测过程可以参照已有技术实现,此处不再赘述。

步骤102、若连续n1次获取到的上述收发状态均为tcp数据包收发正常,则基于超文本传输协议(http,hypertexttransferprotocol)对上述智能终端进行网络检测,得到http检测结果;

其中,上述http检测结果指示网络不连通或网络连通,其中,上述n1为不小于1的自然数。本发明实施例中,当连续n1次获取到的上述收发状态均为tcp数据包收发正常时,触发http检测,也即基于http对上述智能终端进行网络检测。

可选的,步骤102中的基于http对上述智能终端进行网络检测包括:向预设的n个服务器分别发送http连接请求;若上述智能终端基于上述http连接请求与上述n个服务器中的任一服务器成功建立连接,则确定当次的http检测结果为网络连通;若上述智能终端基于上述http连接请求无法与上述n个服务器中的任一服务器成功建立连接,则确定当次的http检测结果为网络不连通。其中,上述n为不小于2的自然数。进一步,可以创建n个线程,并基于创建的n个线程并行向n个服务器分别发送http连接请求,以提高检测效率。

当然,本发明实施例中,步骤102中的基于http对上述智能终端进行网络检测也可以为只向单一的服务器发起http连接请求以进行http检测,此处不做限定。

可选的,当连续n1次获取到的上述收发状态均为tcp数据包收发正常时,以预设的另一周期触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,以提高tcp检测及获取tcp数据包的收发状态的频率。也即,当连续n1次获取到的上述收发状态均为tcp数据包收发正常时,缩短步骤101中“触发对上述智能终端的tcp检测并获取tcp数据包的收发状态”这一动作的执行周期,以便在获得http检测结果的邻近时间段可再次获得(n2-n1)个的tcp数据包的收发状态。例如,若原来步骤101触发对上述智能终端的tcp检测并获取tcp数据包的收发状态的周期为5秒,则当连续n1次获取到的上述收发状态均为tcp数据包收发正常时,则可以以2秒的周期触发对上述智能终端的tcp检测并获取tcp数据包的收发状态。

步骤103、若连续n2次获取到的上述收发状态均为tcp数据包收发正常且上述http检测结果指示网络连通,则确定上述智能终端当前处于可上网状态;

本发明实施例中,上述n2大于n1。

需要说明的是,若连续n2次获取到的上述收发状态均为tcp数据包收发正常,而此时未得到上述http检测结果(例如还处于http检测中),则可等待该http检测结果获得后,判断获得的http检测结果是否指示网络连通,若获得的http检测结果指示网络连通,则确定上述智能终端当前处于可上网状态。进一步,若该http检测结果指示网络不连通,则可将上述收发状态的统计数清零,之后重新返回步骤101,按照初始的周期触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,进一步可输出预设的不可上网指示信息,以指示所述智能终端当前处于不可上网状态(例如可在上述智能终端的状态栏中显示上述不可上网指示信息)。或者,在得到上述http检测结果后,若该http检测结果指示网络连通,则监听在触发http检测后是否已再获得(n2-n1)个收发状态,若未获得(n2-n1)个收发状态,则等待,若已再获得(n2-n1)个收发状态,则判断是否连续n2次获取到的上述收发状态均为tcp数据包收发正常,若判断连续n2次获取到的上述收发状态均为tcp数据包收发正常,则确定上述智能终端当前处于可上网状态。当该http检测结果指示网络不连通,或者判断出未连续n2次获取到的上述收发状态均为tcp数据包收发正常时,可将收发状态的统计数清零,之后重新返回步骤101,按照初始的周期触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,进一步可输出预设的不可上网指示信息,以指示所述智能终端当前处于不可上网状态(例如可在上述智能终端的状态栏中显示上述不可上网指示信息)。

步骤104、当确定上述智能终端当前处于可上网状态时,输出预设的可上网指示信息,以指示上述智能终端当前处于可上网状态;

本发明实施例中,为了使得用户能够及时获知上述智能终端当前所连网络的网络状态,当每次确定上述智能终端当前处于可上网状态时,输出预设的可上网指示信息,以使得用户可以及时获知上述智能终端实时的网络状态。

在一种应用场景中,步骤104可以包括:当确定上述智能终端当前处于可上网状态时,在上述智能终端的状态栏中显示上述可上网指示信息(上述可上网指示信息例如可以为预设的可上网标记),以便用户在查看到该可上网指示信息时,可获知该智能终端当前处于可上网状态。具体的,当确定上述智能终端当前处于可上网状态,且上述智能终端的状态栏中无可上网指示信息时,在上述智能终端的状态栏中显示上述可上网指示信息;当确定上述智能终端当前处于可上网状态,且上述智能终端的状态栏中已显示可上网指示信息时,在上述智能终端的状态栏中保持上述可上网指示信息的显示。

进一步,本发明实施例中的网络检测方法还可以包括:记录每次网络检测的结果(例如上述收发状态的统计情况和/或上述http检测结果),以方便用户或技术人员调用该网络检测的结果进行分析或其它应用。

需要说明的是,本发明实施例中的网络检测方法可应用于网络检测装置中,上述网络检测装置可以为独立的设备,或者也可以集成在智能终端(例如手机、平板电脑等)或其它设备中,此处不作限定。

由上可见,在本发明方案中,在智能终端的联网状态下,周期性触发对该智能终端的tcp检测并获取tcp数据包的收发状态,并在连续n1次获取到的上述收发状态均为tcp数据包收发正常时,基于超文本传输协议对该智能终端进行网络检测,得到http检测结果,在连续获取到的上述收发状态均为tcp数据包收发正常且该http检测结果指示网络连通时,确定该智能终端当前处于可上网状态。通过结合tcp检测方式和基于超文本传输协议的网络检测方式,可以避免采用单一的网络检测方式导致检测结果不准确的情况,提高网络检测的准确性,另外,本发明在确定该智能终端当前处于可上网状态时,输出预设的可上网指示信息,以使得用户可以及时获知当前所连接网络的网络状态。

实施例二

本发明实施例与实施例一的区别在于,本发明实施例在连续n1次获取到的所述收发状态均为tcp数据包收发正常,且智能终端的状态栏中未显示可上网指示信息智能终端的联网状态下,才进一步进行http检测,以减少误判的可能性。如图2所示,本发明实施例中的网络检测方法包括:

步骤201、在智能终端的联网状态下,周期性触发对上述智能终端的tcp检测并获取tcp数据包的收发状态;

本发明实施例中,上述联网状态为已连接无线网络的状态。上述tcp为传输控制协议(即transmissioncontrolprotocol)的简写。

本发明实施例中,上述tcp检测在某些场景下也被称为tcp测试。上述触发对上述智能终端的tcp检测可包括如下过程:触发上述智能终端发送tcp数据包并捕获返回的tcp数据包。上述tcp数据包的收发状态分为如下两种:tcp数据包收发正常和tcp数据包收发异常。其中,tcp数据包收发正常是指在发出tcp数据包后能够在预设时间内收到返回的tcp数据包,tcp数据包收发异常是指在发出tcp数据包后无法在预设时间内收到返回的tcp数据包。

具体的,tcp检测过程可以参照已有技术实现,此处不再赘述。

步骤202、若连续n1次获取到的上述收发状态均为tcp数据包收发正常,且上述智能终端当前的状态栏中未显示上述可上网指示信息,则基于http对上述智能终端进行网络检测,得到http检测结果;

其中,上述http检测结果指示网络不连通或网络连通,其中,上述n1为不小于1的自然数。本发明实施例中,当连续n1次获取到的上述收发状态均为tcp数据包收发正常,且上述智能终端当前的状态栏中未显示上述可上网指示信息,为了减少误判的概率,此时进一步触发http检测,也即基于http对上述智能终端进行网络检测。

可选的,步骤202中的基于http对上述智能终端进行网络检测包括:向预设的n个服务器分别发送http连接请求;若上述智能终端基于上述http连接请求与上述n个服务器中的任一服务器成功建立连接,则确定当次的http检测结果为网络连通;若上述智能终端基于上述http连接请求无法与上述n个服务器中的任一服务器成功建立连接,则确定当次的http检测结果为网络不连通。其中,上述n为不小于2的自然数。进一步,可以创建n个线程,并基于创建的n个线程并行向n个服务器分别发送http连接请求,以提高检测效率。

当然,本发明实施例中,步骤202中的基于http对上述智能终端进行网络检测也可以为只向单一的服务器发起http连接请求以进行http检测,此处不做限定。

可选的,当连续n1次获取到的上述收发状态均为tcp数据包收发正常时,以预设的另一周期触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,以提高tcp检测及获取tcp数据包的收发状态的频率。或者,当连续n1次获取到的上述收发状态均为tcp数据包收发正常且上述智能终端当前的状态栏中未显示上述可上网指示信息时,以预设的另一周期触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,以提高tcp检测及获取tcp数据包的收发状态的频率。上述提高tcp检测及获取tcp数据包的收发状态的频率也即缩短步骤201中“触发对上述智能终端的tcp检测并获取tcp数据包的收发状态”这一动作的执行周期。

步骤203、若连续n1次获取到的上述收发状态均为tcp数据包收发正常,且上述智能终端当前的状态栏中已显示上述可上网指示信息,则确定当前上述智能终端当前处于可上网状态;

本发明实施例中,当连续n1次确定出的第一网络检测结果均指示网络连通,且上述智能终端当前的状态栏中已显示上述可上网指示信息,则表明之前上述智能终端已处于可上网状态,此时可以跳过http检测的过程,直接确定当前上述智能终端当前处于可上网状态。

步骤204、若连续n2次获取到的上述收发状态均为tcp数据包收发正常且上述http检测结果指示网络连通,则确定上述智能终端当前处于可上网状态;

本发明实施例中,上述n2大于n1。

需要说明的是,若连续n2次获取到的上述收发状态均为tcp数据包收发正常,而此时未得到上述http检测结果(例如还处于http检测中),则可等待该http检测结果获得后,判断获得的http检测结果是否指示网络连通,若获得的http检测结果指示网络连通,则确定上述智能终端当前处于可上网状态。进一步,若该http检测结果指示网络不连通,则可将上述收发状态的统计数清零,之后重新返回步骤201,按照初始的周期触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,进一步可输出预设的不可上网指示信息,以指示所述智能终端当前处于不可上网状态(例如可在上述智能终端的状态栏中显示上述不可上网指示信息)。或者,在得到上述http检测结果后,若该http检测结果指示网络连通,则监听在触发http检测后是否已再获得(n2-n1)个第一网络检测结果,若未获得(n2-n1)个收发状态,则等待,若已再获得(n2-n1)个收发状态,则判断是否连续n2次获取到的上述收发状态均为tcp数据包收发正常,若判断连续n2次获取到的上述收发状态均为tcp数据包收发正常,则确定上述智能终端当前处于可上网状态。当该http检测结果指示网络不连通,或者判断出未连续n2次获取到的上述收发状态均为tcp数据包收发正常时,可将收发状态清零,之后重新返回步骤201,按照初始的周期触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,进一步可输出预设的不可上网指示信息,以指示所述智能终端当前处于不可上网状态(例如可在上述智能终端的状态栏中显示上述不可上网指示信息)。

步骤205、当确定上述智能终端当前处于可上网状态时,在上述智能终端的状态栏中显示上述可上网指示信息;

本发明实施例中,为了使得用户能够及时获知上述智能终端当前所连网络的网络状态,当每次确定上述智能终端当前处于可上网状态时,输出预设的可上网指示信息,以使得用户可以及时获知上述智能终端实时的网络状态。

具体的,当确定上述智能终端当前处于可上网状态,且上述智能终端的状态栏中无可上网指示信息时,在上述智能终端的状态栏中显示上述可上网指示信息;当确定上述智能终端当前处于可上网状态,且上述智能终端的状态栏中已显示可上网指示信息时,在上述智能终端的状态栏中保持上述可上网指示信息的显示。

进一步,本发明实施例中的网络检测方法还可以包括:记录每次网络检测的结果(例如上述收发状态的统计情况和/或上述http检测结果),以方便用户或技术人员调用该网络检测的结果进行分析或其它应用。

需要说明的是,本发明实施例中的网络检测方法可应用于网络检测装置中,上述网络检测装置可以为独立的设备,或者也可以集成在智能终端(例如手机、平板电脑等)或其它设备中,此处不作限定。

由上可见,在本发明方案中,在智能终端的联网状态下,周期性触发对该智能终端的tcp检测并获取tcp数据包的收发状态,并在连续n1次获取到的上述收发状态均为tcp数据包收发正常时,基于超文本传输协议对该智能终端进行网络检测,得到http检测结果,在连续获取到的上述收发状态均为tcp数据包收发正常且该http检测结果指示网络连通时,确定该智能终端当前处于可上网状态。通过结合tcp检测方式和基于超文本传输协议的网络检测方式,可以避免采用单一的网络检测方式导致检测结果不准确的情况,提高网络检测的准确性,另外,本发明在确定该智能终端当前处于可上网状态时,输出预设的可上网指示信息,以使得用户可以及时获知当前所连接网络的网络状态。另外,本发明实施例在连续n1次获取到的上述收发状态均为tcp数据包收发正常,且智能终端的状态栏中未显示可上网指示信息智能终端的联网状态下,才进一步进行http检测,一方面可在该场景下减少误判的可能性,另一方面也可以在智能终端的状态栏中已显示可上网指示信息跳过http检测,提高检测效率。

实施例三

本发明实施例还提供一种网络检测装置,如图3所示,本发明实施例中的网络检测装置300包括:

获取单元301,用于在智能终端的联网状态下,周期性触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,其中,上述联网状态为已连接无线网络的状态,上述tcp指传输控制协议,上述tcp数据包的收发状态分为如下两种:tcp数据包收发正常和tcp数据包收发异常;

http检测单元302,用于当获取单元301连续n1次获取到的上述收发状态均为tcp数据包收发正常,基于超文本传输协议对上述智能终端进行网络检测,得到http检测结果,其中,上述http检测结果指示网络不连通或网络连通,其中,所述n1为不小于1的自然数;

确定单元303,用于当获取单元301连续n2次获取到的上述收发状态均为tcp数据包收发正常,且http检测单元302得到的上述http检测结果指示网络连通时,确定上述智能终端当前处于可上网状态,其中,上述n2大于n1;

网络状态指示单元304,用于当确定单元303确定上述智能终端当前处于可上网状态时,输出预设的可上网指示信息,以指示上述智能终端当前处于可上网状态。

可选的,网络状态指示单元304具体用于:当确定单元303确定上述智能终端当前处于可上网状态时,在上述智能终端的状态栏中显示上述可上网指示信息。

可选的,http检测单元302具体用于:当获取单元301连续n1次获取到的上述收发状态均为tcp数据包收发正常,且上述智能终端当前的状态栏中未显示上述可上网指示信息时,基于http对上述智能终端进行网络检测;确定单元303还用于:当获取单元301连续n1次获取到的上述收发状态均为tcp数据包收发正常,且上述智能终端当前的状态栏中已显示上述可上网指示信息时,确定上述智能终端当前处于可上网状态。

可选的,获取单元301还用于:当连续n1次获取到的所述收发状态均为tcp数据包收发正常时,以预设的另一周期触发对所述智能终端的tcp检测并获取tcp数据包的收发状态,以提高tcp检测及获取tcp数据包的收发状态的频率。

可选的,http检测单元302具体用于:当获取单元301连续n1次获取到的所述收发状态均为tcp数据包收发正常时,向预设的n个服务器分别发送http连接请求;当基于上述http连接请求与上述n个服务器中的任一服务器成功建立连接时,确定上述http检测结果为网络连通;当基于上述http连接请求无法与上述n个服务器中的任一服务器成功建立连接时,确定上述http检测结果为网络不连通。

需要说明的是,本发明实施例中的网络检测装置可以为独立的设备,或者也可以集成在智能终端(例如手机、平板电脑等)或其它设备中,此处不作限定。

由上可见,在本发明方案中,在智能终端的联网状态下,周期性触发对该智能终端的tcp检测并获取tcp数据包的收发状态,并在连续n1次获取到的上述收发状态均为tcp数据包收发正常时,基于超文本传输协议对该智能终端进行网络检测,得到http检测结果,在连续获取到的上述收发状态均为tcp数据包收发正常且该http检测结果指示网络连通时,确定该智能终端当前处于可上网状态。通过结合tcp检测方式和基于超文本传输协议的网络检测方式,可以避免采用单一的网络检测方式导致检测结果不准确的情况,提高网络检测的准确性,另外,本发明在确定该智能终端当前处于可上网状态时,输出预设的可上网指示信息,以使得用户可以及时获知当前所连接网络的网络状态。

实施例四

本发明实施例提供一种智能终端,请参阅图4,本发明实施例中的智能终端包括:存储器401,一个或多个处理器402(图4中仅示出一个)及存储在存储器401上并可在处理器上运行的计算机程序。其中:存储器401用于存储软件程序以及模块,处理器402通过运行存储在存储器401的软件程序以及单元,从而执行各种功能应用以及数据处理。具体地,处理器402通过运行存储在存储器401的上述计算机程序时实现以下步骤:

在智能终端的联网状态下,周期性触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,其中,上述联网状态为已连接无线网络的状态,上述tcp指传输控制协议,上述tcp数据包的收发状态分为如下两种:tcp数据包收发正常和tcp数据包收发异常;

若连续n1次获取到的上述收发状态均为tcp数据包收发正常,则基于超文本传输协议对上述智能终端进行网络检测,得到http检测结果,其中,上述http检测结果指示网络不连通或网络连通,其中,上述n1为不小于1的自然数;

若连续n2次获取到的上述收发状态均为tcp数据包收发正常且上述http检测结果指示网络连通,则确定上述智能终端当前处于可上网状态,其中,上述n2大于n1;

当确定上述智能终端当前处于可上网状态时,输出预设的可上网指示信息,以指示上述智能终端当前处于可上网状态。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述输出预设的可上网指示信息,包括:

在上述智能终端的状态栏中显示上述可上网指示信息。

在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述若连续n1次获取到的上述收发状态均为tcp数据包收发正常,则基于超文本传输协议对上述智能终端进行网络检测,为:

若连续n1次获取到的上述收发状态均为tcp数据包收发正常,且上述智能终端当前的状态栏中未显示上述可上网指示信息,则基于超文本传输协议对上述智能终端进行网络检测;

若连续n1次获取到的上述收发状态均为tcp数据包收发正常,且上述智能终端当前的状态栏中已显示上述可上网指示信息,则确定上述智能终端当前处于可上网状态。

在上述第一种可能的实现方式,或者上述第二种可能的实现方式,或者上述第三种可能的实现方式作为基础而提供的第四种可能的实施方式中,处理器402通过运行存储在存储器401的上述计算机程序时还实现以下步骤:

若连续n1次获取到的上述收发状态均为tcp数据包收发正常,则以预设的另一周期触发对上述智能终端的tcp检测并获取tcp数据包的收发状态,以提高tcp检测及获取tcp数据包的收发状态的频率。

在上述第一种可能的实现方式,或者上述第二种可能的实现方式,或者上述第三种可能的实现方式作为基础而提供的第五种可能的实施方式中,上述基于超文本传输协议对上述智能终端进行网络检测,得到http检测结果,包括:

向预设的n个服务器分别发送超文本传输协议连接请求;

当基于上述超文本传输协议连接请求与上述n个服务器中的任一服务器成功建立连接时,确定上述http检测结果为网络连通;

当基于上述超文本传输协议连接请求无法与上述n个服务器中的任一服务器成功建立连接时,确定上述http检测结果为网络不连通。

进一步,如图4所示,上述智能终端还可包括:一个或多个输入设备403(图4中仅示出一个)和一个或多个输出设备404(图4中仅示出一个)。存储器401、处理器402、输入设备403和输出设备404通过总线405连接。

应当理解,在本发明实施例中,所称处理器402可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备403可以包括键盘、触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备404可以包括显示器、扬声器等。

存储器404可以包括只读存储器和随机存取存储器,并向处理器401提供指令和数据。存储器404的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器404还可以存储设备类型的信息。

由上可见,在本发明方案中,在智能终端的联网状态下,周期性触发对该智能终端的tcp检测并获取tcp数据包的收发状态,并在连续n1次获取到的上述收发状态均为tcp数据包收发正常时,基于超文本传输协议对该智能终端进行网络检测,得到http检测结果,在连续获取到的上述收发状态均为tcp数据包收发正常且该http检测结果指示网络连通时,确定该智能终端当前处于可上网状态。通过结合tcp检测方式和基于超文本传输协议的网络检测方式,可以避免采用单一的网络检测方式导致检测结果不准确的情况,提高网络检测的准确性,另外,本发明在确定该智能终端当前处于可上网状态时,输出预设的可上网指示信息,以使得用户可以及时获知当前所连接网络的网络状态。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。

以上上述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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