两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于linux的應(yīng)用程序接入互聯(lián)網(wǎng)方法及網(wǎng)絡(luò)設(shè)備的制作方法

文檔序號:7704226閱讀:181來源:國知局
專利名稱:基于linux的應(yīng)用程序接入互聯(lián)網(wǎng)方法及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng) 方法及網(wǎng)絡(luò)設(shè)備,以便于在LINUX下,應(yīng)用程序自動選擇連接并接入互聯(lián)網(wǎng)。
背景技術(shù)
Linux操作系統(tǒng)有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)都存在的情況下,與互聯(lián)網(wǎng)的狀況可能有如 下表1的幾種情況表1 在后三種情況下,應(yīng)用程序能否連接上門戶網(wǎng)站取決于當(dāng)時(shí)LINUX路由表的狀 態(tài),由于有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)都存在,路由表中會有兩個(gè)default選項(xiàng)。LINUX的路由算法 是匹配第一個(gè)default選項(xiàng),當(dāng)該default為有線網(wǎng)絡(luò),而此時(shí)有線網(wǎng)絡(luò)確實(shí)能連接互聯(lián)網(wǎng) 時(shí),應(yīng)用程序能成功連接上門戶網(wǎng)站;反之,如果該default為有線網(wǎng)絡(luò),而此時(shí)有線網(wǎng)絡(luò) 不能連接互聯(lián)網(wǎng),即使無線網(wǎng)絡(luò)能夠連接上互聯(lián)網(wǎng),應(yīng)用程序也不能成功連接上門戶網(wǎng)站。 當(dāng)default為無線網(wǎng)絡(luò)時(shí),也是同理。例如,當(dāng)路由表為如下表2的狀態(tài)表2 表2中,第一個(gè)default為無線網(wǎng)絡(luò),第二個(gè)default為有線網(wǎng)絡(luò),LINUX只匹配 的第一個(gè)default,即無線網(wǎng)絡(luò),此時(shí),發(fā)往互聯(lián)網(wǎng)的報(bào)文會只通過無線網(wǎng)絡(luò)的路由發(fā)送,當(dāng) 無線網(wǎng)絡(luò)能連接互聯(lián)網(wǎng)時(shí),應(yīng)用程序可以連接上門戶網(wǎng)站;當(dāng)無線網(wǎng)絡(luò)不能連接互聯(lián)網(wǎng),即 使有線網(wǎng)絡(luò)能夠連接上互聯(lián)網(wǎng),應(yīng)用程序也不能成功連接上門戶網(wǎng)站。

發(fā)明內(nèi)容
本發(fā)明的目的是,針對上述現(xiàn)有技術(shù)存在的缺陷提供了一種基于LINUX的應(yīng)用程 序接入互聯(lián)網(wǎng)方法及網(wǎng)絡(luò)設(shè)備,以便于在LINUX下,應(yīng)用程序自動選擇通過有線網(wǎng)絡(luò)或無 線網(wǎng)絡(luò)連接并接入互聯(lián)網(wǎng)。本發(fā)明的技術(shù)方案如下一種基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法,包括將有線路由加入到路由表中,確定該網(wǎng)絡(luò)為有線連接方式或者將無線路由加入到 路由表中,確定該網(wǎng)絡(luò)為無線連接方式;通過獲取該確定的連接方式下網(wǎng)站IP地址,如果不能獲取所述IP地址,則將所述 網(wǎng)絡(luò)連接方式切換到另一種連接方式,以獲取該另一種連接方式下網(wǎng)站IP地址;在獲取網(wǎng)站IP地址之后,與網(wǎng)站建立SOCKET連接。其中,該方法進(jìn)一步包括如果與網(wǎng)站建立SOCKET連接成功并成功將該SOCKET設(shè) 置為非阻塞模式,則采用所述非阻塞模式與網(wǎng)站建立連接。其中,將有線路由或者無線路由加入到路由表中之前,進(jìn)一步包括判斷所述路由 表中是否存在有線路由或者無線路由,如果不存在,則從內(nèi)存中調(diào)取所述有線路由或者無 線路由加入到路由表中。其中,在該方法中,如果所述路由表同時(shí)存在兩種路由,則保留一種路由,將另一 種路由保存在內(nèi)存中,并從所述路由表中刪除所述另一種路由。其中,該方法進(jìn)一步包括調(diào)用連接函數(shù)與所述網(wǎng)站建立連接,如果所述連接函數(shù) 返回值正確,確認(rèn)所述網(wǎng)絡(luò)可以連接互聯(lián)網(wǎng)。其中,該方法進(jìn)一步包括調(diào)用連接函數(shù)與所述網(wǎng)站建立連接,如果所述連接函數(shù) 返回值正確,則連接成功,如果返回錯(cuò)誤,則連接未成功,則再通過選擇函數(shù)檢測所述連接 是否成功;以及在所述選擇函數(shù)設(shè)置超時(shí)時(shí)間,如果在設(shè)定的時(shí)間內(nèi)超時(shí),則確認(rèn)所述網(wǎng)絡(luò) 接入互聯(lián)網(wǎng)失敗。其中,該方法進(jìn)一步包括如果通過有線或者無線連接方式連接成功后,記錄該連 接方式及連接所需的時(shí)間,并判斷是否嘗試過另外一種連接方式,如果沒有則,嘗試另一種 連接方式,分別記錄該另一種連接方式的連接方式和時(shí)間;比較有線連接方式和無線連接方式接入網(wǎng)絡(luò)所需的時(shí)間,并確定所需時(shí)間少的連 接方式為優(yōu)選的連接方式。一種網(wǎng)絡(luò)設(shè)備,包括網(wǎng)絡(luò)連接方式確定單元,用于將有線路由加入到路由表中,確定該網(wǎng)絡(luò)為有線連 接方式,或者用于將無線路由加入到路由表中,確定該網(wǎng)絡(luò)為無線連接方式;IP地址獲取單元,用于通過獲取該確定的連接方式下網(wǎng)站IP地址,如果不能獲取 所述IP地址,則將所述網(wǎng)絡(luò)連接方式切換到另一種連接方式,以獲取該另一種連接方式下 網(wǎng)站IP地址;連接建立單元,用于所述IP地址獲取單元獲取網(wǎng)站IP地址之后,與網(wǎng)站間建立 SOCKET 連接。其中,所述網(wǎng)絡(luò)設(shè)備,還包括路由判斷單元,用于判斷所述路由表中是否存在有線路由或者無線路由,如果不存在,則從內(nèi)存中調(diào)取所述有線路由或者無線路由加入到路由表中。其中,所述網(wǎng)絡(luò)設(shè)備,還包括函數(shù)調(diào)用單元,用于如果通過調(diào)用確認(rèn)函數(shù)創(chuàng)建SOCKET并成功將所述SOCKET設(shè) 置為非阻塞模式,則采用所述非阻塞模式與網(wǎng)站建立連接。其中,所述函數(shù)調(diào)用單元,還用于調(diào)用連接函數(shù)與所述網(wǎng)站建立連接,如果所述連 接函數(shù)返回值正確,則連接成功,如果返回錯(cuò)誤,則連接未成功,則再通過選擇函數(shù)檢測所 述連接是否成功;以及在所述選擇函數(shù)設(shè)置超時(shí)時(shí)間,如果在設(shè)定的時(shí)間內(nèi)超時(shí),則確認(rèn)所 述網(wǎng)絡(luò)接入互聯(lián)網(wǎng)失敗。其中,該網(wǎng)絡(luò)設(shè)備還包括記錄單元和比較單元,所述記錄單元,用于如果通過有線或者無線連接方式連接成功后,記錄該連接方 式及連接所需的時(shí)間,并判斷是否嘗試過另外一種連接方式,如果沒有則,嘗試另一種連接 方式;分別記錄該另一種連接方式的連接方式和時(shí)間;所述比較單元,用于比較有線連接方式和無線連接方式接入網(wǎng)絡(luò)所需的時(shí)間,并 確定所需時(shí)間少的連接方式為優(yōu)選的連接方式。本發(fā)明的有益效果為本發(fā)明提供了一種基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法 及網(wǎng)絡(luò)設(shè)備,對于有線網(wǎng)絡(luò)與無線網(wǎng)絡(luò),只要有一個(gè)可以連接上互聯(lián)網(wǎng),應(yīng)用程序就能連接 上門戶網(wǎng)站。同時(shí),當(dāng)有線、無線都可以連接上互聯(lián)網(wǎng)時(shí),自動判斷兩者間哪條網(wǎng)絡(luò)連接門 戶網(wǎng)站的狀況更優(yōu),從而使應(yīng)用程序通過網(wǎng)速更好的網(wǎng)絡(luò)與門戶網(wǎng)站間進(jìn)行信息交互。


圖1為本發(fā)明實(shí)施例提供的基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法流程圖;圖2為本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)圖。
具體實(shí)施例方式本發(fā)明提供了一種基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法及網(wǎng)絡(luò)設(shè)備,為使本發(fā) 明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對本發(fā)明進(jìn)一步詳細(xì) 說明。本發(fā)明實(shí)施例提供的基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法,應(yīng)用在LINUX系統(tǒng) 下,將有線路由加入到路由表中,確定該網(wǎng)絡(luò)為有線連接方式或者將無線路由加入到路由 表中,確定該網(wǎng)絡(luò)為無線連接方式;通過獲取該確定的連接方式下網(wǎng)站IP地址,如果不能 獲取所述IP地址,則將所述網(wǎng)絡(luò)連接方式切換到另一種連接方式,以獲取該另一種連接方 式下網(wǎng)站IP地址;在獲取網(wǎng)站IP地址之后,與網(wǎng)站間建立SOCKET連接。通過該實(shí)施例的 方法,對于有線網(wǎng)絡(luò)與無線網(wǎng)絡(luò),只要有一個(gè)可以連接上互聯(lián)網(wǎng),應(yīng)用程序就能連接上門戶 網(wǎng)站。同時(shí),當(dāng)有線、無線都可以連接上互聯(lián)網(wǎng)時(shí),自動判斷兩者間哪條網(wǎng)絡(luò)連接門戶網(wǎng)站 的狀況更優(yōu),從而使應(yīng)用程序通過網(wǎng)速更好的網(wǎng)絡(luò)與門戶網(wǎng)站間進(jìn)行信息交互。參照圖1, 該基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法包括步驟101、判斷路由表中是否存在有線路由或者無線路由,如果不存在,則從內(nèi)存中調(diào) 取有線路由或者無線路由加入到路由表中。如果所述路由表同時(shí)存在兩種路由,則將保留一種路由,將另一種路由保存在內(nèi)存中,并從所述路由表中刪除另一種路由。在該步驟中,通過對路由設(shè)置算法進(jìn)行描述,在該路由設(shè)置算法啟動時(shí),首先指明 路由表中是要保留有線路由還是保留無線路由(兩者只能保留其一)。如是保留有線路由, 則用戶是想把無線路由從路由表中刪除,使得路由表的default僅為有線路由。此時(shí),首先 需要查看路由表中是否已經(jīng)存在有線路由,如果不存在有線路由且內(nèi)存中也不保留有線路 由的信息,則路由設(shè)置失敗,算法結(jié)束;如果路由表中不存在有線路由,但內(nèi)存中存有有線 路由的信息,則將內(nèi)存中的有線路由信息恢復(fù)到路由表中,然后進(jìn)行下一步操作;如果路由 表中存在有線路由,則直接進(jìn)行下一步操作,查看路由表中是否存在無線路由,如果不存在 無線路由,則設(shè)置完畢,算法結(jié)束;如果存在,則將該無線路由信息保存到內(nèi)存中,以便以后 調(diào)用,保存完畢后,將該無線路由從路由表中刪除,算法結(jié)束。保留無線路由的亦是同理。102、將有線路由加入到路由表中,確定該網(wǎng)絡(luò)為有線連接方式或者將無線路由加 入到路由表中,確定該網(wǎng)絡(luò)為無線連接方式。該網(wǎng)絡(luò)選擇通過網(wǎng)絡(luò)選擇算法實(shí)現(xiàn)的,該算法建立的基礎(chǔ)是LINUX下的SOCKET編 程,通過與門戶網(wǎng)站間建立連接的SOCKET狀態(tài)來對網(wǎng)絡(luò)進(jìn)行選擇。在本實(shí)施例中,優(yōu)選的, 該網(wǎng)絡(luò)選擇算法首先將連接方式設(shè)置為通過有線連接方式,然后通過ioctlO庫函數(shù)獲取 該連接方式下本機(jī)的IP地址,如果不能正確獲取到本機(jī)的IP地址,則將網(wǎng)絡(luò)狀態(tài)切換到無 線連接方式后重試;否則,調(diào)用路由設(shè)置算法,將有線網(wǎng)絡(luò)的路由加入到路由表中,將無線 網(wǎng)絡(luò)的路由從路由表中刪除。103、通過獲取該確定的連接方式下網(wǎng)站IP地址,如果不能獲取所述IP地址,則將 所述網(wǎng)絡(luò)連接方式切換到另一種連接方式,以獲取該另一種連接方式下網(wǎng)站IP地址。判讀是否已經(jīng)獲取到門戶網(wǎng)站的IP地址,如未獲取到,則調(diào)用gethostbyname () 庫函數(shù)進(jìn)行獲取,如獲取失敗,說明該網(wǎng)絡(luò)不能連接到互聯(lián)網(wǎng),將連接方式切換到無線網(wǎng)絡(luò) 后重試;如果獲取成功,則保存獲取到的門戶網(wǎng)站的IP地址,以備下次使用。獲取到門戶網(wǎng) 站的IP地址后,該網(wǎng)絡(luò)選擇算法嘗試通過調(diào)用socketO函數(shù)與門戶網(wǎng)站間建立SOCKET連 接,如果連接創(chuàng)建成功并成功將該SOCKET設(shè)置為非阻塞模式,則嘗試采用非阻塞模式與門 戶網(wǎng)站建立連接cormectO ;否則,將連接方式切換為無線網(wǎng)絡(luò),并重試。104、在獲取網(wǎng)站IP地址之后,與網(wǎng)站間建立SOCKET連接。在本實(shí)施例中是通過調(diào)用確認(rèn)函數(shù)如socketO函數(shù)創(chuàng)建SOCKET,所述 socket 0函數(shù)返回值正確,則SOCKET創(chuàng)建成功。105、如果SOCKET創(chuàng)建成功并成功將該SOCKET設(shè)置為非阻塞模式,則采用所述非 阻塞模式與網(wǎng)站建立連接。其中,該步驟105為本實(shí)施例的可選步驟,如果通過調(diào)用上述socketO函數(shù)創(chuàng)建 SOCKET成功并成功將該SOCKET設(shè)置為非阻塞模式,則采用所述非阻塞模式與網(wǎng)站建立連 接。建立非阻塞的連接有下面三個(gè)用途1.可以在系統(tǒng)做三路握手的時(shí)候做些其它事情。 2.可以用這個(gè)技術(shù)同時(shí)建立多個(gè)連接,在web應(yīng)用中很普遍。3.可以縮短連接的超時(shí)時(shí)間。 應(yīng)用程序有時(shí)需要一個(gè)更短的超時(shí),實(shí)現(xiàn)辦法之一就是使用非阻塞連接。在本實(shí)施例中因?yàn)镾OCKET設(shè)置為非阻塞模式,在調(diào)用連接函數(shù)如cormectO 函數(shù)與門戶網(wǎng)站建立連接時(shí),該連接函數(shù)會直接返回。如果返回成功標(biāo)志,則該有線網(wǎng) 絡(luò)可以連接上互聯(lián)網(wǎng),算法結(jié)束。但是,當(dāng)在一個(gè)非阻塞的TCP套接口上調(diào)用cormectO時(shí),connect ()可能立即返回一個(gè)EINPR0GRESS錯(cuò)誤,表示在建立連接但還沒有完成。然后 使用選擇函數(shù)如selectO函數(shù)檢測這個(gè)連接或成功或失敗,在selectO中設(shè)置連接 的超時(shí)時(shí)間,如果select ()超時(shí),則連接失敗,將連接方式切換為無線網(wǎng)絡(luò),并重試;如果 selectO成功,則用getsockoptO來檢查,判斷出這個(gè)套接口是否是真的連接上,實(shí)際上 selectO檢查的是它是否可寫,而對于可寫,是針對以下三種條件任一條件滿足時(shí)都表示 可寫的1)套接口發(fā)送緩沖區(qū)中的可用控件字節(jié)數(shù)大于等于套接口發(fā)送緩沖區(qū)低潮限度 的當(dāng)前值,且或者i)套接口已連接,或者ii)套接口不要求連接(UDP方式的)2)連接的寫這一半關(guān)閉。3)有一個(gè)套接口錯(cuò)誤待處理。因此就需要用getsockopt ()函數(shù)來獲取套接口目前的一些信息來判斷是否真的 是連接上門戶網(wǎng)站,如果連接上,則該有線網(wǎng)絡(luò)可以連接上互聯(lián)網(wǎng)。106、如果通過有線或者無線連接方式連接成功后,記錄該連接方式及連接所需的 時(shí)間,并判斷是否嘗試過另外一種連接方式,如果沒有則,嘗試另一種連接方式,分別記錄 該另一種連接方式的連接方式和時(shí)間;107、比較有線連接方式和無線連接方式接入網(wǎng)絡(luò)所需的時(shí)間,并確定所需時(shí)間少 的連接方式為優(yōu)選的連接方式。其中該步驟106和107為本實(shí)施例的可選步驟,在本實(shí)施例中,優(yōu)選的,首先設(shè)置 連接方式為有線連接方式(在其他的實(shí)施例中,也可以首先設(shè)置為無線連接方式,則后面 的內(nèi)容相反),如果進(jìn)行上述步驟通過有線方式連接網(wǎng)絡(luò)成功,則記錄該有線連接方式及連 接網(wǎng)絡(luò)所需要的時(shí)間,并確定是否進(jìn)行過無線連接方式;如果未進(jìn)行過無線連接方式,則將 連接方式切換為無線連接方式,并重試,如果進(jìn)行過無線連接方式,也記錄該無線連接方式 及連接網(wǎng)絡(luò)所需要的時(shí)間,則比較無線連接方式與有線連接方式各花費(fèi)的時(shí)間,確定哪種 連接方式最優(yōu)。至此,網(wǎng)絡(luò)選擇算法結(jié)束。本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)設(shè)備,用于實(shí)現(xiàn)上述實(shí)施例提供基于LINUX的應(yīng)用 程序接入互聯(lián)網(wǎng)方法,參照圖2,該網(wǎng)絡(luò)設(shè)備包括網(wǎng)絡(luò)連接方式確定單元201,用于將有線路由加入到路由表中,確定該網(wǎng)絡(luò)為有線 連接方式或者將無線路由加入到路由表中,確定該網(wǎng)絡(luò)為無線連接方式;IP地址獲取單元202,用于通過獲取該確定的連接方式下網(wǎng)站IP地址,如果不能 獲取所述IP地址,則將所述網(wǎng)絡(luò)連接方式切換到另一種連接方式,以獲取該另一種連接方 式下網(wǎng)站IP地址;連接建立單元203,用于所述IP地址獲取單元獲取網(wǎng)站IP地址之后,與網(wǎng)站間建 立SOCKET連接。進(jìn)一步的實(shí)施例中,該網(wǎng)絡(luò)設(shè)備還包括路由判斷單元204,連接在網(wǎng)絡(luò)連接方式確定單元201之前,用于判斷所述路由表 中是否存在有線路由或者無線路由,如果不存在,則從內(nèi)存中調(diào)取所述有線路由或者無線 路由加入到路由表中。進(jìn)一步的實(shí)施例中,該網(wǎng)絡(luò)設(shè)備還包括函數(shù)調(diào)用單元205,用于如果通過調(diào)用確認(rèn)函數(shù)創(chuàng)建SOCKET成功并成功將所述SOCKET設(shè)置為非阻塞模式,則采用所述非阻塞模式與網(wǎng)站建立連接。進(jìn)一步的實(shí)施例中,該函數(shù)調(diào)用單元205還用于調(diào)用連接函數(shù)與所述網(wǎng)站建立連 接,如果所述連接函數(shù)返回值正確,則連接成功,如果返回錯(cuò)誤,則連接未成功,則再通過選 擇函數(shù)檢測所述連接是否成功;以及在所述選擇函數(shù)設(shè)置超時(shí)時(shí)間,如果在設(shè)定的時(shí)間內(nèi) 超時(shí),則確認(rèn)所述網(wǎng)絡(luò)接入互聯(lián)網(wǎng)失敗。在進(jìn)一步的實(shí)施例中,該網(wǎng)絡(luò)設(shè)備還包括記錄單元206和比較單元207,所述記錄單元206,用于如果通過有線或者無線連接方式連接成功后,記錄該連 接方式及連接所需的時(shí)間,并判斷是否嘗試過另外一種連接方式,如果沒有則,嘗試另一種 連接方式;分別記錄該另一種連接方式的連接方式和時(shí)間;所述比較單元207,用于根據(jù)記錄單元206記錄的結(jié)果,比較有線連接方式和無線 連接方式接入網(wǎng)絡(luò)所需的時(shí)間,并確定所需時(shí)間少的連接方式為優(yōu)選的連接方式。該實(shí)施例提供的網(wǎng)絡(luò)設(shè)備應(yīng)用在LINUX系統(tǒng)下,將有線路由加入到路由表中,確 定該網(wǎng)絡(luò)為有線連接方式或者將無線路由加入到路由表中無線連接方式;通過獲取該連接 方式下網(wǎng)站IP地址,如果不能獲取所述IP地址,則調(diào)用gethostbyname ()庫函數(shù)進(jìn)行獲取 所述IP地址,如果不能,則將所述網(wǎng)絡(luò)連接方式切換到另一種連接方式,以獲取該另一種 連接方式下網(wǎng)站IP地址;在獲取網(wǎng)站IP地址之后,通過調(diào)用socketO函數(shù)創(chuàng)建SOCKET, 并通過cormectO函數(shù)與網(wǎng)站建立連接。通過該實(shí)例的網(wǎng)絡(luò)設(shè)備,對于有線網(wǎng)絡(luò)與無線網(wǎng) 絡(luò),只要有一個(gè)可以連接上互聯(lián)網(wǎng),應(yīng)用程序就能連接上門戶網(wǎng)站。同時(shí),當(dāng)有線、無線都可 以連接上互聯(lián)網(wǎng)時(shí),自動判斷兩者間哪條網(wǎng)絡(luò)連接門戶網(wǎng)站的狀況更優(yōu),從而使應(yīng)用程序 通過網(wǎng)速更好的網(wǎng)絡(luò)與門戶網(wǎng)站間進(jìn)行信息交互。應(yīng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳 實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù) 方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā) 明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
一種基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法,其特征在于,包括將有線路由加入到路由表中,確定該網(wǎng)絡(luò)為有線連接方式,或者將無線路由加入到路由表中,確定該網(wǎng)絡(luò)為無線連接方式;獲取該確定的連接方式下網(wǎng)站IP地址,如果不能獲取所述IP地址,則將所述網(wǎng)絡(luò)連接方式切換到另一種連接方式,以獲取該另一種連接方式下網(wǎng)站IP地址;在獲取網(wǎng)站IP地址之后,與網(wǎng)站建立SOCKET連接。
2.如權(quán)利要求1所述基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法,其特征在于,進(jìn)一步包 括如果與網(wǎng)站建立SOCKET連接成功并成功將該SOCKET設(shè)置為非阻塞模式,則采用所述非 阻塞模式與網(wǎng)站建立連接。
3.如權(quán)利要求1所述基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法,其特征在于,將有線路由 或者無線路由加入到路由表中之前,進(jìn)一步包括判斷所述路由表中是否存在有線路由或 者無線路由,如果不存在,則從內(nèi)存中調(diào)取所述有線路由或者無線路由加入到路由表中。
4.如權(quán)利要求3所述基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法,其特征在于,如果所述路 由表同時(shí)存在兩種路由,則保留一種路由,將另一種路由保存在內(nèi)存中,并從所述路由表中 刪除所述另一種路由。
5.如權(quán)利要求2所述基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法,其特征在于,進(jìn)一步包 括從所述網(wǎng)站返回確認(rèn)參數(shù),確認(rèn)所述網(wǎng)絡(luò)可以連接互聯(lián)網(wǎng)。
6.如權(quán)利要求2所述基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法,其特征在于,進(jìn)一步包 括調(diào)用連接函數(shù)與所述網(wǎng)站建立連接,如果所述連接函數(shù)返回值正確,則連接成功,如果 從返回值錯(cuò)誤,則連接未成功,再通過選擇函數(shù)檢測所述連接是否成功,以及在所述選擇函 數(shù)設(shè)置超時(shí)時(shí)間,如果在設(shè)定的時(shí)間內(nèi)超時(shí),則確認(rèn)所述網(wǎng)絡(luò)接入互聯(lián)網(wǎng)失敗。
7.如權(quán)利要求1所述基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法,其特征在于,進(jìn)一步包括如果通過有線或者無線連接方式連接成功后,記錄該連接方式及連接所需的時(shí)間,并 判斷是否嘗試過另外一種連接方式,如果沒有則,嘗試另一種連接方式,分別記錄該另一種 連接方式的連接方式和時(shí)間;比較有線連接方式和無線連接方式接入網(wǎng)絡(luò)所需的時(shí)間,并確定所需時(shí)間少的連接方 式為優(yōu)選的連接方式。
8.—種網(wǎng)絡(luò)設(shè)備,其特征在于,包括網(wǎng)絡(luò)連接方式確定單元,用于將有線路由加入到路由表中,確定該網(wǎng)絡(luò)為有線連接方 式,或者用于將無線路由加入到路由表中,確定該網(wǎng)絡(luò)為無線連接方式;IP地址獲取單元,用于通過獲取該確定的連接方式下網(wǎng)站IP地址,如果不能獲取所述 IP地址,則將所述網(wǎng)絡(luò)連接方式切換到另一種連接方式,以獲取該另一種連接方式下網(wǎng)站 IP地址;連接建立單元,用于所述IP地址獲取單元獲取網(wǎng)站IP地址之后,與網(wǎng)站間建立SOCKET 連接。
9.如權(quán)利要求8所述網(wǎng)絡(luò)設(shè)備,其特征在于,包括路由判斷單元,用于判斷所述路由表中是否存在有線路由或者無線路由,如果不存在, 則從內(nèi)存中調(diào)取所述有線路由或者無線路由加入到路由表中。
10.如權(quán)利要求8所述網(wǎng)絡(luò)設(shè)備,其特征在于,包括函數(shù)調(diào)用單元,用于如果通過調(diào)用確認(rèn)函數(shù)與門戶網(wǎng)站間建立SOCKET連接成功并成 功將所述SOCKET設(shè)置為非阻塞模式,則采用所述非阻塞模式與網(wǎng)站建立連接,如果所述確 認(rèn)函數(shù)返回值正確,則確認(rèn)所述網(wǎng)絡(luò)可以連接互聯(lián)網(wǎng)。
11.如權(quán)利要求8所述網(wǎng)絡(luò)設(shè)備,其特征在于,包括函數(shù)調(diào)用單元,還用于調(diào)用連接函數(shù)與所述網(wǎng)站建立連接,如果所述連接函數(shù)返回值 正確,則連接成功,如果從所述函數(shù)返回值錯(cuò)誤,則連接未成功,則,再通過選擇函數(shù)檢測所 述連接是否成功;以及在所述選擇函數(shù)設(shè)置超時(shí)時(shí)間,如果在設(shè)定的時(shí)間內(nèi)超時(shí),則確認(rèn)所 述網(wǎng)絡(luò)接入互聯(lián)網(wǎng)失敗。
12.如權(quán)利要求8所述網(wǎng)絡(luò)設(shè)備,其特征在于,還包括記錄單元和比較單元, 所述記錄單元,用于如果通過有線或者無線連接方式連接成功后,記錄該連接方式及連接所需的時(shí)間,并判斷是否嘗試過另外一種連接方式,如果沒有則,嘗試另一種連接方 式;分別記錄該另一種連接方式的連接方式和時(shí)間;所述比較單元,用于比較有線連接方式和無線連接方式接入網(wǎng)絡(luò)所需的時(shí)間,并確定 所需時(shí)間少的連接方式為優(yōu)選的連接方式。
全文摘要
本發(fā)明提出了一種基于LINUX的應(yīng)用程序接入互聯(lián)網(wǎng)方法及網(wǎng)絡(luò)設(shè)備,該方法將有線路由加入到路由表中,確定該網(wǎng)絡(luò)為有線連接方式或者將無線路由加入到路由表中,確定該網(wǎng)絡(luò)為無線連接方式;通過獲取該確定的連接方式下網(wǎng)站IP地址,如果不能獲取所述IP地址,則將所述網(wǎng)絡(luò)連接方式切換到另一種連接方式,以獲取該另一種連接方式下網(wǎng)站IP地址;在獲取網(wǎng)站IP地址之后,與網(wǎng)站間建立SOCKET連接。以便于在LINUX下,應(yīng)用程序自動選擇連接并接入互聯(lián)網(wǎng)。
文檔編號H04L12/28GK101895524SQ20091010739
公開日2010年11月24日 申請日期2009年5月21日 優(yōu)先權(quán)日2009年5月21日
發(fā)明者王洋 申請人:Tcl集團(tuán)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
慈溪市| 扎兰屯市| 富阳市| 凉城县| 志丹县| 卫辉市| 宁海县| 沂源县| 永城市| 和龙市| 瓦房店市| 忻州市| 茌平县| 尉氏县| 南乐县| 南澳县| 泸州市| 台中县| 秀山| 奉节县| 罗江县| 潼南县| 闽侯县| 宜川县| 兴义市| 普格县| 宁明县| 克拉玛依市| 定陶县| 昌黎县| 横山县| 全椒县| 泸溪县| 皮山县| 沽源县| 松阳县| 白朗县| 中山市| 聊城市| 元阳县| 阿尔山市|