專利名稱:網絡狀態(tài)的提示方法及裝置的制作方法
技術領域:
本發(fā)明涉及互聯(lián)網技術領域,尤其涉及一種網絡狀態(tài)的提示方法及裝置。
背景技術:
隨著互聯(lián)網技術的不斷發(fā)展進步,智能電視中也增加了各種各樣的網絡應用。在使用這些網絡應用時,與互聯(lián)網相連通是首要前提;但在使用應用的過程中,由于種種不定因素,可能出現(xiàn)網絡異常、網絡中斷的現(xiàn)象,此時需要根據當前網絡狀態(tài)給用戶一個提示。常用的很多平臺在啟動某些應用后,會關閉對資源的監(jiān)控,即在啟動網絡應用以后,不再監(jiān)控網絡狀態(tài),更無法繼續(xù)判斷網絡狀態(tài)并給用戶相關提示。一般平臺的斷網判斷僅僅通過判斷當前網絡端口的打開及運行狀態(tài)來斷定當前網絡狀態(tài)的連接是否正常,這種方案是有問題的。因為這個判斷邏輯僅僅是用于判斷當前網絡接口是否運行正常,并沒有判斷當前是否與互聯(lián)網相連。例如在用戶將電視與路由器相連、路由器與調制解調器相連這種情況下,電視實際獲取的網絡分配的IP地址是與調制解調器相連的路由器,而路由器會向與其相連的可聯(lián)網設備下發(fā)一個IP地址,這樣電視可以使用這個IP地址通過路由器進行互聯(lián)網訪問,但是實際發(fā)送互聯(lián)網請求的是路由器。如果此時出現(xiàn)某些異常(如調制解調器無法連接到網絡、給調制解調器斷電、斷開路由器和調制解調器直接的連接等)情況,導致路由器或調制解調器斷網,此時路由器會失去調制解調器下發(fā)過來的IP地址,進而無法訪問互聯(lián)網;但由于路由器此時還能正常運行其他功能,電視從路由器處獲取的IP地址還未丟失,此時用上面的這個網絡判斷邏輯繼續(xù)判斷電視當前的網絡狀態(tài),會依舊提 示網絡連接正常,但是卻無法訪問互聯(lián)網。
發(fā)明內容
本發(fā)明的主要目的是提供一種網絡狀態(tài)的提示方法及裝置,旨在識別并顯示電視的網絡連接狀態(tài)。本發(fā)明公開了一種網絡狀態(tài)的提示方法,包括以下步驟啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡接口是否打開并獲得IP地址;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)提示信息;若是,則建立通信變量套接字socket,判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài);判斷當前網絡狀態(tài)與前一次網絡狀態(tài)是否相同;若否,則在當前網絡連接正常時,若是,則退出網絡檢查線程;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)的提示信息。優(yōu)選地,所述記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)的提示信息的步驟之后還包括步驟通過瀏覽器或頁面顯示所述當前網絡狀態(tài)的提示信息。優(yōu)選地,所述判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài)的步驟包括在所述socket與互聯(lián)網服務器連通時,獲取當前網絡狀態(tài)為連接正常;在所述socket與互聯(lián)網服務器沒有連通時,獲取當前網絡狀態(tài)為連接異常。。優(yōu)選地,所述通過瀏覽器顯示所述當前網絡狀態(tài)的提示信息包括解析并下載需繪制的頁面元素,根據所述頁面元素的加載順序,將所述頁面元素加載至內存中,并在所述內存中依次疊加所述頁面元素形成顯示圖像;判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài);若是,則在所述顯示圖像的最上層疊加網絡連接異常的圖片元素,將得到的最終顯示圖像通過所述瀏覽器進行顯示;若否,則刷新當前頁面并加載用戶請求的頁面。優(yōu)選地,所述通過頁面顯示所述當前網絡狀態(tài)的提示信息包括調用腳本語言擴展JSE,獲取當前網絡狀態(tài);判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài);若是,則顯示網絡連接異常提示信息;若否,則不顯示網絡連接異常提示信息。優(yōu)選地,所述通過頁面顯示所述當前網絡狀態(tài)的提示信息包括
所述瀏覽器啟動一用于識別網絡狀態(tài)是否發(fā)生改變的線程,在識別到網絡狀態(tài)發(fā)生改變時,發(fā)送一鍵值至所述頁面;所述頁面接收所述鍵值,判斷所述鍵值是否為網絡標記鍵值;若是,則根據所述網絡標記鍵值,判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài);若是,則顯示網絡連接異常提示信息;若否,則不顯示現(xiàn)網絡連接異常提示信息。本發(fā)明還公開一種網絡狀態(tài)的提示裝置,包括網絡狀態(tài)獲取模塊,用于啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡接口是否打開并獲得IP地址;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)提示信息;若是,則建立通信變量套接字socket,判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài);網絡狀態(tài)識別模塊,用于判斷當前網絡狀態(tài)與前一次網絡狀態(tài)是否相同;若是,則退出網絡檢查線程;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)的提示信息。優(yōu)選地,所述網絡狀態(tài)的提示裝置還包括網絡狀態(tài)顯示模塊,用于通過瀏覽器或頁面顯示所述當前網絡狀態(tài)的提示信息。優(yōu)選地,所述網絡狀態(tài)獲取模塊還用于在所述socket與互聯(lián)網服務器連通時,獲取當前網絡狀態(tài)為連接正常;在所述socket與互聯(lián)網服務器沒有連通時,獲取當前網絡狀態(tài)為連接異常。優(yōu)選地,所述網絡狀態(tài)顯示模塊顯示所述當前網絡狀態(tài)的提示信息的方式包括解析并下載需繪制的頁面元素,根據所述頁面元素的加載順序,將所述頁面元素加載至內存中,并在所述內存中依次疊加所述頁面元素形成顯示圖像;判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài);
若是,則在所述顯示圖像的最上層疊加網絡連接異常的圖片元素,將得到的最終顯示圖像通過所述瀏覽器進行顯示;若否,則刷新當前頁面并加載用戶請求的頁面;或者調用腳本語言擴展JSE,獲取當前網絡狀態(tài);判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài);若是,則顯示網絡連接異常提示信息;若否,則不顯示網絡連接異常提示信息;或者啟動一用于識別網絡狀態(tài)是否發(fā)生改變的線程,在識別到網絡狀態(tài)發(fā)生改變時,獲取網絡狀態(tài)對應的鍵值,判斷所述鍵值是否為網絡標記鍵值;若是,則根據所述網絡標記鍵值,判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài);
若是,則顯示網絡連接異常提示信息;若否,則不顯示現(xiàn)網絡連接異常提示信息。本發(fā)明通過啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡接口是否打開并獲得IP地址;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)提示信息;若是,則建立通信變量套接字socket,判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài);在判斷當前網絡狀態(tài)與前一次網絡狀態(tài)不同時,記錄當前網絡狀態(tài)并返回當前網絡連接狀態(tài)的提示信息的方法,具有在當前網絡接口運行正常的情況下,進一步識別并提示與互聯(lián)網連接狀態(tài)的有益效果,提高了網絡連接識別的準確性,使終端的功能更加豐富。
圖1是本發(fā)明網絡狀態(tài)的提示方法一實施例流程示意圖;圖2是本發(fā)明網絡狀態(tài)的提示方法又一實施例流程示意圖;圖3是本發(fā)明網絡狀態(tài)的提示方法中通過瀏覽器顯示當前網絡狀態(tài)的提示信息一實施例流程示意圖;圖4是本發(fā)明網絡狀態(tài)的提示方法中通過頁面顯示當前網絡狀態(tài)的提示信息一實施例流程示意圖;圖5是本發(fā)明網絡狀態(tài)的提示方法中通過頁面顯示當前網絡狀態(tài)的提示信息又一實施例流程示意圖;圖6是本發(fā)明網絡狀態(tài)的提示裝置一實施例結構示意圖;圖7是本發(fā)明網絡狀態(tài)的提示裝置又一實施例結構示意圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。
具體實施例方式以下結合說明書附圖及具體實施例進一步說明本發(fā)明的技術方案。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參照圖1,圖1是本發(fā)明網絡狀態(tài)的提示方法一實施例流程示意圖;如圖1所示,本發(fā)明網絡狀態(tài)的提示方法包括以下步驟步驟S01、啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡接口是否打開并獲得IP地址;若否,則執(zhí)行步驟S02 ;若是,則執(zhí)行步驟S03 ;步驟S02、記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)的提示信息;步驟S03、建立通信變量socket,判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài);在檢測網絡連接狀態(tài)時,啟動一個網絡檢查線程,判斷網絡端口是否打開以及網絡端口是否運行正常、是否能夠獲取IP地址;若網絡端口異常,則直接判斷網絡連接異常,記錄當前網絡狀態(tài)為連接異常,并返回當前網絡狀態(tài)為連接異常的提示信息。在網絡端口運行正常的情況下,建立一個通信變量socket (套接字),并判斷socket與互聯(lián)網是否能夠連接;根據socket與互聯(lián)網的連接狀態(tài),來判斷當前的網絡狀態(tài);若socket能夠與互聯(lián)網連接,貝U返回當前網絡狀態(tài)為連接正常,若socket不能與互聯(lián)網連接,則返回當前網絡狀態(tài)為連接異常。這是因為,如果終端是通過網絡服務商(如電信供應商)提供的調制解調器進行聯(lián) 網時,在網絡端口運行正常的情況下,終端與互聯(lián)網也是連通的,即此時終端的網絡狀態(tài)為連接正常;但若終端不是直接通過調制解調器進行聯(lián)網,而是通過內部的局域網比如某公司內的路由器與調制解調器連接后,再通過調制解調器進行聯(lián)網時,在這種連接場景下,如果調制解調器工作異常,但檢測到終端的網絡端口運行正常,即終端與路由器的連接以及路由器與調制解調器連接正常的情況下,雖然在終端中設置網絡,一直能得到“網絡連接正常”的提示,但終端和路由器卻一直無法連接互聯(lián)網。因此,在檢測網絡端口運行正常的情況下,需要判斷socket與互聯(lián)網是否能夠連接,只有在網絡端口運行正常且socket與互聯(lián)網能夠正常連接的情況下,終端的網絡連接狀態(tài)才正
堂
巾o先對網絡端口進行判斷的原因是socket通信采用socket描述字與互聯(lián)網中的服務器相連,從而來判斷當前網絡狀態(tài);socket通信對網絡判斷的執(zhí)行時間較長,如果出現(xiàn)網絡異常,那么需要等待socket的連接請求超時才能斷定當前網絡連接異常。但是對網絡端口的打開和運行正常與否的這個判斷執(zhí)行非???;因此,如果當前斷網實際情況是終端的網線斷開,那么在網絡端口的判斷之后便能夠得知當前網絡端口打開或者運行異常,此時終端一定處于未連接互聯(lián)網狀態(tài),那么就不需要再做socket判斷了,減少了網絡判斷時間。步驟S04、判斷當前網絡狀態(tài)與前一次網絡狀態(tài)是否相同;若是,則執(zhí)行步驟S05 ;若否,則返回執(zhí)行步驟S02;步驟S05、退出網絡檢查線程;在當前網絡連接正常時,記錄當前網絡狀態(tài)并返回當前網絡連接正常信息;在當前網絡連接異常時,記錄當前網絡狀態(tài)并返回當前網絡連接異常信息;將步驟S03獲取的當前網絡狀態(tài)與前一次網絡狀態(tài)進行比較,判斷二者是否相同;若當前網絡狀態(tài)與前一次網絡狀態(tài)的判斷結果相同,比如均為網絡連接正常或連接異常,則忽略該判斷,退出網絡檢查線程;這是因為,網絡提示僅僅在網絡連接正常和網絡連接異常這兩個狀態(tài)切換時執(zhí)行即可,如果本次網絡狀態(tài)與上次網絡狀態(tài)一樣,即網絡狀態(tài)沒有改變,則不需要重復進行同樣的提示操作,節(jié)省資源。若當前網絡狀態(tài)與前一次網絡狀態(tài)的判斷結果不相同,則在當前網絡連接正常時,說明前一次網絡連接異常,則記錄當前網絡狀態(tài)并返回當前網絡連接正常信息;在當前網絡連接異常時,說明前一次網絡連接正常,則記錄當前網絡狀態(tài)并返回當前網絡連接異
常信息。本實施例通過啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡驅動是否打開并運行正常;若是,則建立通信變量套接字socket,判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài);在判斷當前網絡狀態(tài)與前一次網絡狀態(tài)不同時,記錄當前網絡狀態(tài)并返回當前網絡連接狀態(tài)的提示信息的方法,具有在當前網絡接口運行正常的情況下,進一步識別與互聯(lián)網連接狀態(tài)的有益效果,提高了網絡連接識別的準確性。參照圖2,圖2是本發(fā)明網絡狀態(tài)的提示方法又一實施例流程示意圖;本實施與圖1所述實施例的區(qū)別是,僅增加了步驟S06 ;本實施例僅對步驟S06做具體描述,本發(fā)明網絡狀態(tài)的提示方法所涉及的其他步驟請參照圖1所述實施例的具體描述,在此不再贅述。如圖2所示 ,本發(fā)明網絡狀態(tài)的提示方法在步驟S02或步驟S05之后還包括步驟步驟S06、顯示所述當前網絡狀態(tài)的提示信息。若當前網絡狀態(tài)異常,則在用戶請求加載的頁面顯示當前網絡狀態(tài)的提示信息,比如在當前頁面彈出一圖片窗口,顯示“請檢查網絡連接”或“當前網絡連接異?!钡忍崾拘畔?,該提示信息可動態(tài)或靜態(tài)顯示,該提示信息的圖片窗口可半透明或不透明等,提示信息的顯示方式可根據需要隨意設置。若當前網絡狀態(tài)正常,則刷新當前界面,加載用戶請求的頁面。在一優(yōu)選的實施例中,可通過瀏覽器或頁面顯示當前網絡狀態(tài)的提示信息。參照圖3,圖3是本發(fā)明網絡狀態(tài)的提示方法中通過瀏覽器顯示當前網絡狀態(tài)的提示信息一實施例流程示意圖;如圖3所示,本發(fā)明網絡狀態(tài)的提示方法中,通過瀏覽器顯示當前網絡狀態(tài)的提示信息包括以下步驟步驟S11、解析并下載需繪制的頁面元素,根據所述頁面元素的加載順序,將所述頁面元素加載至內存中,并在所述內存中依次疊加所述頁面元素形成顯示圖像;解析頁面,確定需要繪制的頁面元素;解析頁面的過程為在用戶發(fā)送了加載頁面的請求后,瀏覽器會根據加載地址,訪問該地址指向的服務器,獲取需要給用戶顯示的頁面;在獲取頁面的過程中,首先獲取一個DOM(Document Object Model,文件對象模型)文件;該DOM文件可以理解為是一個布局圖,即通知瀏覽器當前需要顯示的這個頁面中有多少個元素需要展現(xiàn)給用戶,每個元素需要放到頁面的哪個位置,每個元素需要顯示的大小等信息。瀏覽器下載到該DOM文件,通過DOM文件在內存中安排所有元素的繪制位置以及繪制順序的過程。頁面元素為頁面中的所有能看到的元素,即文字、圖片、動畫效果等用戶可以看到的任何東西,確定頁面元素,就是在下載頁面的過程中,解析頁面,獲取到所有需要顯示給用戶的信息數(shù)據的過程。由于斷網提示也是給用戶看,因此提醒用戶當前網絡狀態(tài)的一個圖片或者一段文字的提示信息需要放置在所有頁面元素以上,這就需要按照頁面元素的加載順序,加載所有的頁面元素,并保證當前網絡狀態(tài)的提示信息能夠顯示在頁面的最上端,以便用戶看到。
頁面自身各個元素的加載順序指所有元素的顯示順序,比如,對于一個具體的頁面,我們能看到它有一個紅白相間的背景以及背景上面的廣告、文字等信息,在這個頁面的加載過程中,所有元素不是一次加載到位的,而是一點一點的加載,即先加載這個紅白相間的背景,然后再加載廣告、文字顯示的框提,接著是文字的顯示,最后是圖片、flash等元素的顯示,這個就是加載順序。加載到內存中的原因是,如果將用戶能看到的顯示屏當做最終畫布,則將內存便是一個草稿紙,將所有元素加載到內存中,就是在草稿紙上先將各個元素按順序繪制好,然后一次性顯示到“最終畫布”即用戶能看到的顯示屏上。這樣做的原因是因為在繪制過程中可能會出現(xiàn)各種色差、顏色疊加混亂的情況。根據頁面編寫時定義的元素加載順序,依次疊加上述頁面元素。加載優(yōu)先度越高的元素會被放到最低端,而后加載的元素會蓋住已經加載的元素,這樣一層一層疊加成用戶最終看到的頁面的顯示圖像。步驟S12、判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài);若是,則執(zhí)行步驟S13 ;若否,則執(zhí)行步驟S14 ;步驟S13、在所述顯示圖像的最上層疊加網絡連接異常的圖片元素,將得到的最終顯示圖像通過所述瀏覽器進行顯示;步驟S14、刷新當前頁面并加載用戶請求的頁面。啟動網絡判斷線程,判斷當前網絡狀態(tài)是否處于網絡連接異常狀態(tài),即判斷當前是否斷網;若是,則在步驟Sll繪制的顯示圖像的最上層疊加網絡連接異常的圖片元素。由于斷網提示是需要顯示給用戶的,而很多電視平臺自身不帶有斷網提示功能,所以該斷網提示多數(shù)是由電視瀏覽器自己繪制出來的,如果用戶想要看到這個提示,就得保證,無論用戶瀏覽什么頁面,這個提示永遠在繪制出來的圖片的最上層,那么就需要在繪圖的時候保證斷網提示這一層在最上面,也就是最后再繪制,這樣用戶才可以看到斷網提示。本實施例中,斷網提示是瀏覽器自身實現(xiàn)的,所以瀏覽器需要知道頁面何時將所有元素繪制結束,在頁面自身的元素繪制完成后,瀏覽器再將斷網提示這個元素繪制在頁面的所有元素上面,這樣用戶才能看到斷網提示。當所有頁面原元素全部加載完成后,瀏覽器再根據當前網絡狀態(tài),進行相應操作。若當前網絡狀態(tài)為斷網,則瀏覽器加載一個斷網的圖片元素到內存中,再將該斷網的圖片元素疊加在所有元素的最上層,合并出一個新的包含斷網的圖像,最后再顯示給用戶;若當前網絡狀態(tài)為連接正常,則瀏覽器直接刷新當前頁面,并加載用戶請求的頁面。在一優(yōu)選的實施例中,在當前網絡連接正常時,瀏覽器也可以加載一個恢復網絡的圖片元素,并將該恢復網絡的圖片元素疊加在所有元素的最上層,合并出新的保護恢復網絡的圖像,最后顯示給用戶。參照圖4,圖4是本發(fā)明網絡狀態(tài)的提示方法中通過頁面顯示當前網絡狀態(tài)的提示信息一實施例流程示意圖;如圖4所示,本發(fā)明網絡狀態(tài)的提示方法中,通過頁面顯示當前網絡狀態(tài)的提示信息包括以下步驟步驟S21、調用JSE,獲取當前網絡狀態(tài);頁面實現(xiàn)斷網提示需要使 用到瀏覽器的JSE( JavaScript Extension,腳本語言擴展)技術,即瀏覽器中用于給頁面提供一些非HTML (Hyper Text Mark-up Language,超文本標記語言)標準的一種技術。JSE的作用是在瀏覽器中根據用戶的需求,預先定義好一些私有的方法,并實現(xiàn)一個瀏覽器內部特有的對象供頁面使用,這樣頁面可以直接通過這些瀏覽器自定義的對象直接調用一些開發(fā)人員自定義的私有方法。瀏覽器在JSE中提供一個用于判斷當前網絡狀態(tài)的方法供頁面使用,頁面在調用這個方法后獲取得到當前狀態(tài)。步驟S22、判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài);若是,則執(zhí)行步驟S23 ;若否,則執(zhí)行步驟S24 ;步驟S23、顯示網絡連接異常提示信息;步驟S24、不顯示網絡連接異常提示信息。根據網絡狀態(tài),判斷當前網絡狀態(tài)是否處于網絡連接異常狀態(tài),并根據判斷結果更改當前的頁面狀態(tài)以顯示斷網或聯(lián)網提示。若當前網絡連接異常狀態(tài),則顯示網絡連接異常提示信息;若當前網絡連接狀態(tài)正常,則不顯示網絡連接異常信息;在一優(yōu)選的實施例中,在當前網絡連接狀態(tài)正常時,可以顯示聯(lián)網提示信息或者不顯示任何提示信息,直接刷新頁面,加載用戶需求的頁面信息。參照圖5,圖5是本發(fā)明網絡狀態(tài)的提示方法中通過頁面顯示當前網絡狀態(tài)的提示信息又一實施例流程示意圖;如圖5所示,本發(fā)明網絡狀態(tài)的提示方法中,通過頁面顯示當前網絡狀態(tài)的提示信息包括以下步驟步驟S31、瀏覽器啟動一用于識別網絡狀態(tài)是否發(fā)生改變的線程,在識別到網絡狀態(tài)發(fā)生改變時,發(fā)送一鍵值至頁面;步驟S32、頁面接收輸入的鍵值,判斷所述鍵值是否為網絡標記鍵值;若是,則執(zhí)行步驟S33 ;若否,則返回執(zhí)行步驟S32 ;頁面實現(xiàn)斷網提示的另一種方法是,在瀏覽器內部啟動一個網絡線程用于判斷當前網絡狀態(tài),當網絡狀態(tài)發(fā)生改變時,發(fā)送一個鍵值給頁面;此時,頁面接收輸入的鍵值,并判斷該鍵值是否為用于標記網絡連接狀態(tài)的網絡標記的鍵值;若該鍵值不是網絡標記鍵值,則繼續(xù)執(zhí)行接收輸入的鍵值并判斷該鍵值是否為網絡標記鍵值的步驟。步驟S33、根據所述網絡標記鍵值,判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài);若是,則執(zhí)行步驟S34 ;若否,則執(zhí)行步驟S35 ;步驟S34、顯示網絡連接異常提示信息;步驟S35、不顯示現(xiàn)網絡連接異常提示信息。根據網絡狀態(tài),判斷當前網 絡狀態(tài)是否處于網絡連接異常狀態(tài),并根據判斷結果更改當前的頁面狀態(tài)以顯示斷網或聯(lián)網提示。若當前網絡連接異常狀態(tài),則顯示網絡連接異常提示信息;若當前網絡連接狀態(tài)正常,則不顯示網絡連接異常信息;在一優(yōu)選的實施例中,在當前網絡連接狀態(tài)正常時,可以顯示聯(lián)網提示信息或者不顯示任何提示信息,直接刷新頁面,加載用戶需求的頁面信息。本實施例通過顯示當前網絡狀態(tài)提示信息的方法,具有直觀地提示當前網絡連接狀態(tài)的有益效果,使終端的功能更加豐富。參照圖6,圖6是本發(fā)明網絡狀態(tài)的提示裝置一實施例結構示意圖。如圖6所示,本發(fā)明網絡狀態(tài)的提示裝置包括網絡狀態(tài)獲取模塊01和網絡狀態(tài)識別模塊02。網絡狀態(tài)獲取模塊01,用于啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡驅動是否打開并運行正常;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)提示信息;若是,則建立通信變量套接字socket,判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài)。
在檢測網絡連接狀態(tài)時,網絡狀態(tài)獲取模塊01啟動一個網絡檢查線程,判斷網絡端口是否打開以及網絡端口是否運行正常;若網絡端口異常,則直接判斷網絡連接異常。在網絡端口運行正常的情況下,網絡狀態(tài)獲取模塊01建立一個通信變量socket,并判斷socket與互聯(lián)網是否能夠連接;根據socket與互聯(lián)網的連接狀態(tài),來判斷當前的網絡狀態(tài);若socket能夠與互聯(lián)網連接,貝U返回當前網絡狀態(tài)為連接正常,若socket不能與互聯(lián)網連接,則返回當前網絡狀態(tài)為連接異常。這是因為,如果終端是通過網絡服務商(如電信供應商)提供的調制解調器進行聯(lián)網時,在網絡端口運行正常的情況下,終端與互聯(lián)網也是連通的,即此時終端的網絡狀態(tài)為連接正常;但若終端不是直接通過調制解調器進行聯(lián)網,而是通過內部的局域網比如某公司內的路由器與調制解調器連接后,再通過調制解調器進行聯(lián)網時,在這種連接場景下,如果調制解調器工作異常,但檢測到終端的網絡端口運行正常,即終端與路由器的連接以及路由器與調制解調器連接正常的情況下,雖然在終端中設置網絡,一直能得到“網絡連接正?!钡奶崾荆K端和路由器卻一直無法連接互聯(lián)網。因此,網絡狀態(tài)獲取模塊01在檢測網絡端口運行正常的情況下,需要判斷socket與互聯(lián)網是否能夠連接,只有在網絡端口運行正常且socket與互聯(lián)網能夠正常連接的情況下,終端的網絡連接狀態(tài)才正常。網絡狀態(tài)獲取模塊01先對網絡端口進行判斷的原因是socket通信采用socket描述字與互聯(lián)網中的服務器相連,從而來判斷當前網絡狀態(tài)pocket通信對網絡判斷的執(zhí)行時間較長,如果出現(xiàn)網絡異常,那么需要等待socket的連接請求超時才能斷定當前網絡連接異常;但是網絡狀態(tài)獲取模塊01對網絡端口的打開和運行正常與否的這個判斷執(zhí)行非???;因此,如果當前斷網實際情況是電視機網線斷開,那么網絡狀態(tài)獲取模塊01在網絡端口的判斷之后便能夠得知當前網絡端口打開或者運行異常,此時電視一定處于未連接互聯(lián)網狀態(tài),那么網絡狀態(tài)獲取模塊01就不需要再做socket判斷了,減少了網絡判斷時間。網絡狀態(tài)識別模塊02,用于判斷當前網絡狀態(tài)與前一次網絡狀態(tài)是否相同;若是,則退出網絡檢查線程;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)的提示信息。網絡狀態(tài)識別模塊 02將網絡狀態(tài)獲取模塊01獲取的當前網絡狀態(tài)與前一次網絡狀態(tài)進行比較,判斷二者是否相同;若當前網絡狀態(tài)與前一次網絡狀態(tài)的判斷結果相同,比如均為網絡連接正常或連接異常,網絡狀態(tài)識別模塊02則忽略該判斷,退出網絡檢查線程;這是因為,網絡提示僅僅在網絡連接正常和網絡連接異常這兩個狀態(tài)切換時執(zhí)行即可,如果本次網絡狀態(tài)與上次網絡狀態(tài)一樣,即網絡狀態(tài)沒有改變,網絡狀態(tài)顯示模塊03則不需要重復進行同樣的提示操作,節(jié)省資源。若網絡狀態(tài)識別模塊02識別當前網絡狀態(tài)與前一次網絡狀態(tài)的判斷結果不相同,則在當前網絡連接正常時,說明前一次網絡連接異常,網絡狀態(tài)識別模塊02則記錄當前網絡狀態(tài)并返回當前網絡連接正常信息;在當前網絡連接異常時,說明前一次網絡連接正常,網絡狀態(tài)識別模塊02則記錄當前網絡狀態(tài)并返回當前網絡連接異常信息。本實施例通過啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡驅動是否打開并運行正常;若是,則建立通信變量套接字socket,判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài);在判斷當前網絡狀態(tài)與前一次網絡狀態(tài)不同時,記錄當前網絡狀態(tài)并返回當前網絡連接狀態(tài)的提示信息,具有在當前網絡接口運行正常的情況下,進一步識別與互聯(lián)網連接狀態(tài)的有益效果,提高了網絡連接識別的準確性。參照圖7,圖7是本發(fā)明網絡狀態(tài)的提示裝置又一實施例結構示意圖;本實施例與圖6所述實施例的區(qū)別是,僅增加了網絡狀態(tài)顯示模塊03 ;本實施例僅對網絡狀態(tài)顯示模塊03作具體描述,本發(fā)明網絡狀態(tài)的提示裝置所涉及的其他模塊請參照相關實施例的具體描述,在此不再贅述。如圖7所示,本發(fā)明網絡狀態(tài)的提示裝置還包括網絡狀態(tài)顯示模塊03,用于顯示所述當前網絡狀態(tài)的提示信息。若網絡狀態(tài)識別模塊02識別當前網絡狀態(tài)異常,則網絡狀態(tài)顯示模塊03在用戶請求加載的頁面顯示當前網絡狀態(tài)的提示信息,比如在當前頁面彈出一圖片窗口,顯示“請檢查網絡連接”或“當前網絡連接異?!钡忍崾拘畔ⅲ撎崾拘畔⒖蓜討B(tài)或靜態(tài)顯示,該提示信息的圖片窗口可半透明或不透明等,網絡狀態(tài)顯示模塊03顯示提示信息的顯示方式可根據需要隨意設置。若當前網絡狀態(tài)正常,網絡狀態(tài)顯示模塊03直接刷新當前界面,加載用戶請求的頁面。在一優(yōu)選的實施例中,網絡狀態(tài)顯示模塊03可通過瀏覽器或頁面顯示當前網絡狀態(tài)的提示信息。網絡狀態(tài)顯示模塊03可通過瀏覽器顯示當前網絡狀態(tài)的提示信息的具體過程如下網絡狀態(tài)顯示模塊03解析頁面,確定需要繪制的頁面元素;網絡狀態(tài)顯示模塊03解析頁面的過程為在用戶發(fā)送了加載頁面的請求后,瀏覽器會根據加載地址,訪問該地址指向的服務器,獲取需要給用戶顯示的頁面;在網絡狀態(tài)顯示模塊03獲取頁面的過程中,首先獲取一個DOM文件;該DOM文件可以理解為是一個布局圖,即通知瀏覽器當前需要顯示的這個頁面中有多少個元素需要展現(xiàn)給用戶,每個元素需要放到頁面的哪個位置,每個元素需要顯示的大小等信 息。瀏覽器下載到該DOM文件,通過DOM文件在內存中安排所有元素的繪制位置以及繪制順序的過程。頁面元素為頁面中的所有能看到的元素,即文字、圖片、動畫效果等用戶可以看到的任何東西,確定頁面元素,就是在下載頁面的過程中,解析頁面,獲取到所有需要顯示給用戶的信息數(shù)據的過程。由于斷網提示也是給用戶看,因此網絡狀態(tài)顯示模塊03將提醒用戶當前網絡狀態(tài)的一個圖片或者一段文字的提示信息放置在所有頁面元素以上,這就需要網絡狀態(tài)顯示模塊03按照頁面元素的加載順序,加載所有的頁面元素,并保證當前網絡狀態(tài)的提示信息能夠顯示在頁面的最上端,以便用戶看到。頁面自身各個元素的加載順序指所有元素的顯示順序,比如,對于一個具體的頁面,我們能看到它有一個紅白相間的背景以及背景上面的廣告、文字等信息,在網絡狀態(tài)顯示模塊03對這個頁面的加載過程中,所有元素不是一次加載到位的,而是一點一點的加載,即網絡狀態(tài)顯示模塊03先加載這個紅白相間的背景,然后再加載廣告、文字顯示的框提,接著是文字的顯示,最后是圖片、flash等元素的顯示,這個就是加載順序。網絡狀態(tài)顯示模塊03將頁面元素加載到內存中的原因是,如果將用戶能看到的顯示屏當做最終畫布,則將內存便是一個草稿紙,網絡狀態(tài)顯示模塊03將所有元素加載到內存中,就是在草稿紙上先將各個元素按順序繪制好,然后一次性顯示到“最終畫布”即用戶能看到的顯示屏上。這樣做的原因是因為網絡狀態(tài)顯示模塊03在繪制過程中可能會出現(xiàn)各種色差、顏色疊加混亂的情況。網絡狀態(tài)顯示模塊03根據頁面編寫時定義的元素加載順序,依次疊加上述頁面元素;加載優(yōu)先度越高的元素會被放到最低端,而后加載的元素會蓋住已經加載的元素,這樣一層一層疊加成用戶最終看到的頁面的顯示圖像。加載完成后,網絡狀態(tài)顯示模塊03啟動網絡判斷線程,判斷當前網絡狀態(tài)是否處于網絡連接異常狀態(tài),即判斷當前是否斷網;若是,則在繪制的顯示圖像的最上層疊加網絡連接異常的圖片元素。由于斷網提示是需要顯示給用戶的,而很多電視平臺自身不帶有斷網提示功能,所以該斷網提示多數(shù)是由電視瀏覽器自己繪制出來的,如果用戶想要看到這個提示,就得保證,無論用戶瀏覽什么頁面,這個提示永遠在繪制出來的圖片的最上層,那么就需要網絡狀態(tài)顯示模塊03在繪圖的時候保證斷網提示這一層在最上面,也就是最后再繪制,這樣用戶才可以看到斷網提示。本實施例中,斷網提示是通過瀏覽器實現(xiàn)的,所以瀏覽器需要知道頁面何時將所有元素繪制結束,在頁面自身的元素繪制完成后,網絡狀態(tài)顯示模塊03再將斷網提示這個元素繪制在頁面的所有元素上面,這樣用戶才能看到斷網提示。當所有頁面原元素全部加載完成后,網絡狀態(tài)顯示模塊03再根據當前網絡狀態(tài),進行相應操作。若當前網絡狀態(tài)為斷網,則網絡狀態(tài)顯示模塊03加載一個斷網的圖片元素到內存中,再將該斷網的圖片元素疊加在所有元素的最上層,合并出一個新的包含斷網的圖像,最后再顯示給用戶;若當前網絡狀態(tài)為連接正常,則網絡狀態(tài)顯示模塊03直接刷新當前頁面,并加載用戶請求的頁面。在一優(yōu)選的實施例中,在當前網絡連接正常時,網絡狀態(tài)顯示模塊03也可以加載一個恢復網絡的圖片元素,并將該恢復網絡的圖片元素疊加在所有元素的最上層,合并出新的保護恢復網絡的圖像,最后顯示給用戶。網絡狀態(tài)顯示模塊03可通過頁面顯示當前網絡狀態(tài)的提示信息的具體過程如下 網絡狀態(tài)顯示模塊03利用頁面實現(xiàn)斷網提示需要使用到瀏覽器的JSE技術,即瀏覽器中用于給頁面提供一些非HTML標準的一種技術。JSE的作用是在瀏覽器中根據用戶的需求,預先定義好一些私有的方法,并實現(xiàn)一個瀏覽器內部特有的對象供頁面使用,這樣頁面可以直接通過這些瀏覽器自定義的對象直接調用一些開發(fā)人員自定義的私有方法。瀏覽器在JSE中提供一個用于判斷當前網絡狀態(tài)的方法供頁面使用,網絡狀態(tài)顯示模塊03利用頁面調用這個方法后獲取得到當前狀態(tài)。網絡狀態(tài)顯示模塊03利用頁面實現(xiàn)斷網提示的另一種方法是,在瀏覽器內部啟動一個網絡線程用于判斷當前網絡狀態(tài),當網絡狀態(tài)發(fā)生改變時,發(fā)送一個鍵值給頁面;此時,網絡狀態(tài)顯示模塊03通過頁面接收輸入的鍵值,并判斷該鍵值是否為用于標記網絡連接狀態(tài)的網絡標記的鍵值;若該鍵值不是網絡標記鍵值,網絡狀態(tài)顯示模塊03則繼續(xù)執(zhí)行接收輸入的鍵值并判斷該鍵值是否為網絡標記鍵值。網絡狀態(tài)顯示模塊03根據網絡狀態(tài),判斷當前網絡狀態(tài)是否處于網絡連接異常狀態(tài),并根據判斷結果更改當前的頁面狀態(tài)以顯示斷網或聯(lián)網提示。若當前網絡連接異常狀態(tài),網絡狀態(tài)顯示模塊03則顯示網絡連接異常提示信息;若當前網絡連接狀態(tài)正常,網絡狀態(tài)顯示模塊03則不顯示網絡連接異常信息;在一優(yōu)選的實施例中,在當前網絡連接狀態(tài)正常時,網絡狀態(tài)顯示模塊03可以顯示聯(lián)網提示信息或者不顯示任何提示信息,直接刷新頁面,加載用戶需求的頁面信息。本實施例通過顯示當前網絡狀態(tài)提示信息,具有直觀地提示當前網絡連接狀態(tài)的有益效果,使終端的功能更加豐富。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制其專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,直接或間接運用在其他相關的技術領域,均同理包括在本發(fā)明的專 利保護范圍內。
權利要求
1.一種網絡狀態(tài)的提示方法,其特征在于,包括以下步驟啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡接口是否打開并獲得IP地址;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)提示信息;若是,則建立通信變量套接字socket,判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài);判斷所述當前網絡狀態(tài)與前一次網絡狀態(tài)是否相同;若是,則退出網絡檢查線程;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)的提示信息。
2.如權利要求1所述的方法,其特征在于,所述記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)的提示信息的步驟之后還包括步驟 通過瀏覽器或頁面顯示所述當前網絡狀態(tài)的提示信息。
3.如權利要求1所述的方法,其特征在于,所述判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài)的步驟包括 在所述socket與互聯(lián)網服務器連通時,獲取當前網絡狀態(tài)為連接正常; 在所述socket與互聯(lián)網服務器沒有連通時,獲取當前網絡狀態(tài)為連接異常。
4.如權利要求2所述的方法,其特征在于,所述通過瀏覽器顯示所述當前網絡狀態(tài)的提示信息包括 解析并下載需繪制的頁面元素,根據所述頁面元素的加載順序,將所述頁面元素加載至內存中,并在所述內存中依次疊加所述頁面元素形成顯示圖像; 判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài); 若是,則在所述顯示圖像的最上層疊加網絡連接異常的圖片元素,將得到的最終顯示圖像通過所述瀏覽器進行顯示; 若否,則刷新當前頁面并加載用戶請求的頁面。
5.如權利要求2所述的方法,其特征在于,所述通過頁面顯示所述當前網絡狀態(tài)的提示信息包括 調用腳本語言擴展JSE,獲取當前網絡狀態(tài); 判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài); 若是,則顯示網絡連接異常提示信息; 若否,則不顯示網絡連接異常提示信息。
6.如權利要求2所述的方法,其特征在于,所述通過頁面顯示所述當前網絡狀態(tài)的提示信息包括 所述瀏覽器啟動一用于識別網絡狀態(tài)是否發(fā)生改變的線程,在識別到網絡狀態(tài)發(fā)生改變時,發(fā)送一鍵值至所述頁面; 所述頁面接收所述鍵值,判斷所述鍵值是否為網絡標記鍵值; 若是,則根據所述網絡標記鍵值,判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài); 若是,則顯示網絡連接異常提示信息; 若否,則不顯示現(xiàn)網絡連接異常提示信息。
7.—種網絡狀態(tài)的提示裝置,其特征在于,包括 網絡狀態(tài)獲取模塊,用于啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡接口是否打開并獲得IP地址;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)提示信息;若是,則建立通信變量套接字socket,判斷所述socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài); 網絡狀態(tài)識別模塊,用于判斷當前網絡狀態(tài)與前一次網絡狀態(tài)是否相同;若是,則退出網絡檢查線程;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)的提示信息。
8.如權利要求7所述的裝置,其特征在于,還包括 網絡狀態(tài)顯示模塊,用于通過瀏覽器或頁面顯示所述當前網絡狀態(tài)的提示信息。
9.如權利要求7所述的裝置,其特征在于,所述網絡狀態(tài)獲取模塊還用于 在所述socket與互聯(lián)網服務器連通時,獲取當前網絡狀態(tài)為連接正常; 在所述socket與互聯(lián)網服務器沒有連通時,獲取當前網絡狀態(tài)為連接異常。
10.如權利要求8所述的裝置,其特征在于,所述網絡狀態(tài)顯示模塊顯示所述當前網絡狀態(tài)的提示信息的方式包括 解析并下載需繪制的頁面元素,根據所述頁面元素的加載順序,將所述頁面元素加載至內存中,并在所述內存中依次疊加所述頁面元素形成顯示圖像; 判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài); 若是,則在所述顯示圖像的最上層疊加網絡連接異常的圖片元素,將得到的最終顯示圖像通過所述瀏覽器進行顯示; 若否,則刷新當前頁面并加載用戶請求的頁面; 或者 調用腳本語言擴展JSE,獲取當前網絡狀態(tài); 判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài); 若是,則顯示網絡連接異常提示信息; 若否,則不顯示網絡連接異常提示信息; 或者 啟動一用于識別網絡狀態(tài)是否發(fā)生改變的線程,在識別到網絡狀態(tài)發(fā)生改變時,獲取網絡狀態(tài)對應的鍵值,判斷所述鍵值是否為網絡標記鍵值; 若是,則根據所述網絡標記鍵值,判斷所述當前網絡狀態(tài)是否處于網絡連接異常狀態(tài); 若是,則顯示網絡連接異常提示信息; 若否,則不顯示現(xiàn)網絡連接異常提示信息。
全文摘要
本發(fā)明公開一種網絡狀態(tài)的提示方法及裝置,該方法包括啟動網絡檢查線程,調用網絡狀態(tài)檢測函數(shù),判斷當前網絡接口是否打開并獲得IP地址;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)提示信息;若是,則建立通信變量socket,判斷通信變量socket與互聯(lián)網服務器是否連通,根據判斷結果,獲取當前網絡狀態(tài);判斷當前網絡狀態(tài)與前一次網絡狀態(tài)是否相同;若是,則退出網絡檢查線程;若否,則記錄當前網絡狀態(tài)并返回當前網絡狀態(tài)的提示信息;具有在當前網絡接口運行正常的情況下,進一步識別并提示與互聯(lián)網連接狀態(tài)的有益效果,提高了網絡連接識別的準確性,使終端的功能更加豐富。
文檔編號H04L12/26GK103067777SQ20121056818
公開日2013年4月24日 申請日期2012年12月24日 優(yōu)先權日2012年12月24日
發(fā)明者陳澄 申請人:深圳Tcl新技術有限公司