網絡檢測方法、網絡檢測裝置及智能終端與流程
2023-07-04 22:32:21 1

本發明屬於網絡應用技術領域,尤其涉及一種網絡檢測方法、網絡檢測裝置、智能終端及計算機可讀存儲介質。
背景技術:
隨著通訊技術的快速發展,無線網絡,特別是無線區域網(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)、電載波信號、電信信號以及軟體分發介質等。需要說明的是,上述計算機可讀介質包含的內容可以根據司法管轄區內立法和專利實踐的要求進行適當的增減,例如在某些司法管轄區,根據立法和專利實踐,計算機可讀介質不包括是電載波信號和電信信號。
以上上述實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍,均應包含在本發明的保護範圍之內。