智能終端及其網(wǎng)絡(luò)配置方法【專利摘要】本發(fā)明公開一種智能終端及其網(wǎng)絡(luò)配置方法,該方法包括如下步驟:建立符合WiFiP2P規(guī)范的網(wǎng)絡(luò)群組以完成本智能終端的熱點(diǎn)模式的啟動(dòng),使其與本智能終端的站點(diǎn)模式并存工作;以系統(tǒng)最高權(quán)限調(diào)用網(wǎng)絡(luò)守護(hù)進(jìn)程修改網(wǎng)絡(luò)共享配置信息使連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接;在客戶端接入所述網(wǎng)絡(luò)群組后,建立該客戶端與由所述站點(diǎn)模式所維持的外網(wǎng)的連接。通過本發(fā)明的處理,Android系統(tǒng)的智能終端便具備了雙模功能,也即同時(shí)既可充當(dāng)熱點(diǎn)供其他設(shè)備接入,也可充當(dāng)站點(diǎn)接入外部網(wǎng)絡(luò)接入點(diǎn),并且可以起到路由器的作用,允許接入該智能終端的客戶端設(shè)備通過該智能終端訪問外網(wǎng)?!緦@f明】智能終端及其網(wǎng)絡(luò)配置方法
技術(shù)領(lǐng)域:
[0001]本發(fā)明設(shè)及智能終端的組網(wǎng)技術(shù),具體而言,本發(fā)明設(shè)及一種智能終端及其網(wǎng)絡(luò)配置方法?!?br>背景技術(shù):
】[0002]Android系統(tǒng)的智能終端,包括手機(jī)、平板電腦、行車記錄儀、可佩戴的手表、眼鏡等等,通常此類智能終端均配備有相應(yīng)的遵守IEEE802.il協(xié)議規(guī)范的WiFi模組,裝載相應(yīng)的驅(qū)動(dòng),提供相應(yīng)的接口供框架層W上的進(jìn)程的調(diào)用。[0003]通常遵守802.11協(xié)議的機(jī)。1模組均支持多種工作模式,例如1855,1日11日旨日(1,八口,AP/VLAN,Monitor,meshpoint,P2P-Client,P2P-G0等模式,種模式可實(shí)現(xiàn)不同的組網(wǎng)功能。其中,Managed也即俗知的Station(STA)即工作站模式,AP即俗稱的訪問接入點(diǎn)模式(AccessPoint);IBSS則是a化OC即直連模式,P2P即俗稱的WiFiDirect技術(shù),屬于Wi-FiAlliance(Wi-Fi聯(lián)盟)推出的一項(xiàng)重要技術(shù)規(guī)范。STA模式下,智能終端便成為一個(gè)工作站,可W接入一個(gè)處于AP模式下的終端。同理,P2P-Client相當(dāng)于STA,可W接入一個(gè)相當(dāng)于AP的P2P-G0(P2PGroupOwner)模式下的智能終端。可見,至少有IBSS和WiFiDirect兩種體系可W實(shí)現(xiàn)將多臺(tái)智能終端進(jìn)行組網(wǎng),同一部智能終端,基于同一WiFi模組,既可充當(dāng)熱點(diǎn),還可充當(dāng)站點(diǎn)。[0004]-種應(yīng)用需求中,希望使同一智能終端的WiFi模組同時(shí)工作于站點(diǎn)和熱點(diǎn)兩種模式,運(yùn)樣便于在該智能終端利用其站點(diǎn)模式接入外網(wǎng)后,通過其熱點(diǎn)模式向其他WiFi設(shè)備提供接入和網(wǎng)絡(luò)共享服務(wù)?,F(xiàn)實(shí)中,基于Windows或I0S的智能終端,能夠善用WiFi模組提供的功能,使運(yùn)種智能終端能夠虛擬出兩臺(tái)設(shè)備,即站點(diǎn)設(shè)備和熱點(diǎn)設(shè)備,在運(yùn)個(gè)基礎(chǔ)上,允許該智能終端一方面可W接入無線AP,另一方面可W充當(dāng)AP供其他WiFi設(shè)備接入。[0005]然而Amlroid智能終端卻不具備運(yùn)種功能。Andoid系統(tǒng)的功能實(shí)現(xiàn)中,并不具備向用戶同時(shí)開放WiFi模組的熱點(diǎn)和站點(diǎn)兩種模式的能力。因而,實(shí)踐應(yīng)用中,當(dāng)智能終端W站點(diǎn)模式利用WiFi接入公司局域網(wǎng)AP之后,希望將另一無顯示界面的WiFi設(shè)備的數(shù)據(jù)讀取并上傳到云端,運(yùn)樣一種需要便會(huì)因?yàn)樵撝悄芙K端不能同時(shí)開啟其自身的熱點(diǎn)模式(因其開啟必然導(dǎo)致斷網(wǎng))及站點(diǎn)模式而得不到滿足。同理,如用戶利用智能終端W熱點(diǎn)模式與第Ξ方通信的過程中,需W站點(diǎn)模式接入某個(gè)局域網(wǎng)獲取數(shù)據(jù),顯然也是做不到的。[0006]可見,基于Amlroid的智能終端在實(shí)現(xiàn)熱點(diǎn)與站點(diǎn)兩種WiFi組網(wǎng)模式運(yùn)一功能上是先天不足的,因此,可W看出,解決運(yùn)一問題是對(duì)Amlroid智能終端的組網(wǎng)條件進(jìn)行高效利用的重要前提。[0007]上述問題適宜在WiFiP2P技術(shù)規(guī)范之下解決,可W考慮令A(yù)n化oid的WiFi模組構(gòu)造一個(gè)能WSTA模式接入外部網(wǎng)站,同時(shí)又能WP2PGO模式提供給其他客戶端接入實(shí)現(xiàn)網(wǎng)絡(luò)擴(kuò)展的框架。由此帶來的問題是WP2P方式連接的客戶端與服務(wù)端,因原本只考慮點(diǎn)對(duì)點(diǎn)連接的問題,故其彼此的路由均不會(huì)改變,而要實(shí)現(xiàn)客戶端可W通過服務(wù)端連接外部網(wǎng)絡(luò),則需要使客戶端能夠合理地配置自身的路由設(shè)置,使得其可W服務(wù)端為網(wǎng)關(guān)去訪問外網(wǎng)?!?br/>發(fā)明內(nèi)容】[0008]本發(fā)明的目的在于針對(duì)W上存在的至少一方面不足,提供一種智能終端及其網(wǎng)絡(luò)配置方法。[0009]為了實(shí)現(xiàn)該目的,本發(fā)明采取如下技術(shù)方案:[0010]本發(fā)明的一種智能終端網(wǎng)絡(luò)配置方法,包括如下步驟:[0011]建立符合WiFiP2P規(guī)范的網(wǎng)絡(luò)群組W完成本智能終端的熱點(diǎn)模式的啟動(dòng),使其與本智能終端的站點(diǎn)模式并存工作;[0012]W系統(tǒng)最高權(quán)限調(diào)用網(wǎng)絡(luò)守護(hù)進(jìn)程修改網(wǎng)絡(luò)共享配置信息使連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接;[0013]在客戶端接入所述網(wǎng)絡(luò)群組后,建立該客戶端與由所述站點(diǎn)模式所維持的外網(wǎng)的連接。[0014]進(jìn)一步,受控而啟動(dòng)所述網(wǎng)絡(luò)群組的建立。[0015]較佳的,通過在用戶界面提供控制按鍵,W用于接收控制指令,W啟動(dòng)所述網(wǎng)絡(luò)群組的建立。[001W具體的,所述站點(diǎn)模式通過啟動(dòng)系統(tǒng)提供的站點(diǎn)進(jìn)程即wpa_supp1icant進(jìn)程而實(shí)現(xiàn)。[0017]較佳的,所述站點(diǎn)模式先于熱點(diǎn)模式工作。[0018]進(jìn)一步,啟動(dòng)所述熱點(diǎn)模式使其與站點(diǎn)模式并存時(shí),顯示用于表征該智能終端處于熱點(diǎn)模式和站點(diǎn)模式共存的雙模狀態(tài)的第Ξ方圖標(biāo)。[0019]具體的,通過調(diào)用Android系統(tǒng)依照WiFiP2P協(xié)議的規(guī)范而提供的WifiP化Manager類的createGroup方法實(shí)現(xiàn)所述網(wǎng)絡(luò)群組的建立。[0020]具體的,所述網(wǎng)絡(luò)守護(hù)進(jìn)程為An化0id系統(tǒng)的化td守護(hù)進(jìn)程,通過該網(wǎng)絡(luò)守護(hù)進(jìn)程提供的ndc工具控制該網(wǎng)絡(luò)守護(hù)進(jìn)程完成所述的網(wǎng)絡(luò)共享配置信息。[0021]具體的,所述網(wǎng)絡(luò)共享配置信息被修改為具備如下用途:[0022]開通連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包轉(zhuǎn)發(fā)功能;[0023]修正用于楊通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包過濾表的設(shè)置內(nèi)容;[0024]去除客戶端共享上網(wǎng)限制解析DNS的選項(xiàng)。[0025]進(jìn)一步,在修改網(wǎng)絡(luò)共享配置信息之前,先強(qiáng)制關(guān)閉為客戶端分配網(wǎng)絡(luò)配置信息的配置進(jìn)程。[0026]具體的,所述在客戶端接入所述網(wǎng)絡(luò)群組后,建立該客戶端與由所述站點(diǎn)模式所維持的外網(wǎng)的連接的步驟中,包括如下兩個(gè)方向的處理過程:[0027]接收客戶端訪問外網(wǎng)的數(shù)據(jù)包,將其轉(zhuǎn)發(fā)經(jīng)所述站點(diǎn)模式的路徑傳輸給所述的外網(wǎng);[0028]接收外網(wǎng)訪問客戶端的數(shù)據(jù)包,將其轉(zhuǎn)發(fā)經(jīng)所述熱點(diǎn)模式的路徑傳輸給該客戶玉山乂而。[00巧]進(jìn)一步,本方法還包括如下步驟:[0030]響應(yīng)于退出共享上網(wǎng)的用戶指令,恢復(fù)所述的網(wǎng)絡(luò)共享配置信息。[0031]本發(fā)明的一種智能終端,包括:[0032]建立單元,用于建立符合WiFiP2P規(guī)范的網(wǎng)絡(luò)群組W完成本智能終端的熱點(diǎn)模式的啟動(dòng),使其與本智能終端的站點(diǎn)模式并存工作;[0033]配置單元,用于W系統(tǒng)最高權(quán)限調(diào)用網(wǎng)絡(luò)守護(hù)進(jìn)程修改網(wǎng)絡(luò)共享配置信息使連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接;[0034]通信單元,用于在客戶端接入所述網(wǎng)絡(luò)群組后,建立該客戶端與由所述站點(diǎn)模式所維持的外網(wǎng)的連接。[0035]進(jìn)一步,所述建立單元中,受控而啟動(dòng)所述網(wǎng)絡(luò)群組的建立。[0036]較佳的,所述建立單元通過在用戶界面提供控制按鍵,W用于接收控制指令,W啟動(dòng)所述網(wǎng)絡(luò)群組的建立。[0037]具體的,所述建立單元中,所述站點(diǎn)模式通過啟動(dòng)系統(tǒng)提供的站點(diǎn)進(jìn)程即wpa_supp1icant進(jìn)程而實(shí)現(xiàn)。[0038]較佳的,所述建立單元中,所述站點(diǎn)模式先于熱點(diǎn)模式工作。[0039]進(jìn)一步,所述建立單元,啟動(dòng)所述熱點(diǎn)模式使其與站點(diǎn)模式并存時(shí),顯示用于表征該智能終端處于熱點(diǎn)模式和站點(diǎn)模式共存的雙模狀態(tài)的第Ξ方圖標(biāo)。[0040]具體的,所述建立單元,通過調(diào)用Amlroid系統(tǒng)依照WiFiP2P協(xié)議的規(guī)范而提供的WifiP化Manager類的createGroup方法實(shí)現(xiàn)所述網(wǎng)絡(luò)群組的建立。[0041]具體的,所述配置單元中,所述網(wǎng)絡(luò)守護(hù)進(jìn)程為Amlroid系統(tǒng)的化td守護(hù)進(jìn)程,通過該網(wǎng)絡(luò)守護(hù)進(jìn)程提供的ndc工具控制該網(wǎng)絡(luò)守護(hù)進(jìn)程完成所述的網(wǎng)絡(luò)共享配置信息。[0042]進(jìn)一步,所述配置單元中,所述網(wǎng)絡(luò)共享配置信息被修改為具備如下用途:[0043]開通連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包轉(zhuǎn)發(fā)功能;[0044]修正用于楊通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包過濾表的設(shè)置內(nèi)容;[0045]去除客戶端共享上網(wǎng)限制解析DNS的選項(xiàng)。[0046]較佳的,所述配置單元在修改網(wǎng)絡(luò)共享配置信息之前,先強(qiáng)制關(guān)閉為客戶端分配網(wǎng)絡(luò)配置信息的配置進(jìn)程。[0047]具體的,所述通信單元,被配置為按如下方式處理如下兩個(gè)方向的數(shù)據(jù)包:[0048]接收客戶端訪問外網(wǎng)的數(shù)據(jù)包,將其轉(zhuǎn)發(fā)經(jīng)所述站點(diǎn)模式的路徑傳輸給所述的外網(wǎng);[0049]接收外網(wǎng)訪問客戶端的數(shù)據(jù)包,將其轉(zhuǎn)發(fā)經(jīng)所述熱點(diǎn)模式的路徑傳輸給該客戶玉山乂而。[0050]進(jìn)一步,該智能終端還包括恢復(fù)單元,被配置為響應(yīng)于退出共享上網(wǎng)的用戶指令,恢復(fù)所述的網(wǎng)絡(luò)共享配置信息。[0051]與現(xiàn)有技術(shù)相比較,本發(fā)明至少具有如下優(yōu)點(diǎn):[0052]本發(fā)明充分利用An化oid系統(tǒng)提供的特性,首先依照WiFiP2P協(xié)議的規(guī)范建立基于P2PG0(P2PGroupOwner)的網(wǎng)絡(luò)群組,將智能終端打造成無線熱點(diǎn),使其能夠工作于熱點(diǎn)模式,與站點(diǎn)模式共同工作,突破Amlroid系統(tǒng)無法自行同時(shí)開放熱點(diǎn)模式和站點(diǎn)模式兩種模式的局限。在此基礎(chǔ)上,本發(fā)明進(jìn)一步利用系統(tǒng)最高權(quán)限,通過Amlroid系統(tǒng)提供的機(jī)審IJ,驅(qū)動(dòng)網(wǎng)絡(luò)守護(hù)進(jìn)程去修改網(wǎng)絡(luò)配置信息,確保運(yùn)種修改使作為服務(wù)端的本智能終端能夠?qū)尤肫錈狳c(diǎn)模式的客戶端提供外部網(wǎng)絡(luò)連接,使得客戶端能夠借助與網(wǎng)絡(luò)群組所有者即服務(wù)端的連接,來經(jīng)由服務(wù)端的站點(diǎn)模式實(shí)現(xiàn)外網(wǎng)訪問,從而解決了網(wǎng)絡(luò)共享的問題。最終,即使不依賴于運(yùn)營商提供的移動(dòng)網(wǎng)絡(luò),只要服務(wù)端能在站點(diǎn)模式接入外網(wǎng),那么,所述的客戶端便能利用服務(wù)端的熱點(diǎn)模式進(jìn)行外網(wǎng)共享。[0053]概括而言,本發(fā)明的實(shí)施,解決了WiFiP2P協(xié)議下,客戶端與服務(wù)端之間的路由配置問題,使得客戶端可W經(jīng)由服務(wù)端訪問外網(wǎng)。然而,書不盡言,本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,運(yùn)些將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。【附圖說明】[0054]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:[0055]圖1為本發(fā)明的智能終端網(wǎng)絡(luò)配置方法的流程示意圖;[0056]圖2為本發(fā)明的智能終端的結(jié)構(gòu)示意圖。【具體實(shí)施方式】[0057]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。[005引本
技術(shù)領(lǐng)域:
技術(shù)人員可W理解,除非特意聲明,運(yùn)里使用的單數(shù)形式"一"、"一個(gè)"、"所述"和"該"也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭"包括"是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被"連接"或"禪接"到另一元件時(shí),它可W直接連接或禪接到其他元件,或者也可W存在中間元件。此外,運(yùn)里使用的"連接"或"禪接"可W包括無線連接或無線禪接。運(yùn)里使用的措辭"和/或"包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。[0059]本
技術(shù)領(lǐng)域:
技術(shù)人員可W理解,除非另外定義,運(yùn)里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像運(yùn)里一樣被特定定義,否則不會(huì)用理想化或過于正式的含義來解釋。[0060]本
技術(shù)領(lǐng)域:
技術(shù)人員可W理解,運(yùn)里所使用的"終端"、"終端設(shè)備"既包括無線信號(hào)接收器的設(shè)備,其僅具備無發(fā)射能力的無線信號(hào)接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,進(jìn)行雙向通信的接收和發(fā)射硬件的設(shè)備。運(yùn)種設(shè)備可W包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(PersonalCommunicationsService,個(gè)人通信系統(tǒng)),其可W組合語音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(PersonalDigitalAssistant,個(gè)人數(shù)字助理),其可W包括射頻接收器、尋呼機(jī)、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(GlobalPositioningSystem,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備。運(yùn)里所使用的"終端"、"終端設(shè)備"可W是便攜式、可運(yùn)輸、安裝在交通工具(航空、海運(yùn)和/或陸地)中的,或者適合于和/或配置為在本地運(yùn)行,和/或w分布形式,運(yùn)行在地球和/或空間的任何其他位置運(yùn)行。運(yùn)里所使用的"終端"、"終端設(shè)備"還可W是通信終端、上網(wǎng)終端、音樂/視頻播放終端,例如可W是PDA、MID(MobileInternetDevice,移動(dòng)互聯(lián)網(wǎng)設(shè)備)和/或具有音樂/視頻播放功能的移動(dòng)電話,也可W是智能電視、機(jī)頂盒等設(shè)備。[0061]本發(fā)明的實(shí)現(xiàn),適于為Amlroid提供并安裝一個(gè)應(yīng)用程序,由其啟動(dòng),在獲取系統(tǒng)最高權(quán)限或者系統(tǒng)開放最高權(quán)限的情況下,而向系統(tǒng)提供交互功能,實(shí)現(xiàn)本方法所需的控制。[0062]如圖1所示,本發(fā)明的一種智能終端網(wǎng)絡(luò)配置方法,包括如下步驟S11-S13:[0063]步驟S11、建立符合WiFiP2P規(guī)范的網(wǎng)絡(luò)群組W完成本智能終端的熱點(diǎn)模式的啟動(dòng),使其與本智能終端的站點(diǎn)模式并存工作。[0064]理論上可W通過An化0id系統(tǒng)的熱點(diǎn)進(jìn)程化stapd來建立所述的熱點(diǎn)模式,但是,實(shí)測中,hostapd進(jìn)程啟動(dòng)時(shí),會(huì)自動(dòng)關(guān)閉站點(diǎn)進(jìn)程,導(dǎo)致智能終端無法同時(shí)工作于熱點(diǎn)模式和站點(diǎn)模式之下,因而,轉(zhuǎn)而采用自行建立網(wǎng)絡(luò)群組的方式,可W有效避免運(yùn)一故障的發(fā)生。[0065]根據(jù)WiFiP2P協(xié)議的規(guī)范,可W使多個(gè)智能終端組在一個(gè)網(wǎng)絡(luò)群組,在該網(wǎng)絡(luò)群組中,有且只有一個(gè)服務(wù)端角色,余者為客戶端角色。所述的服務(wù)端與客戶端兩種角色,在本發(fā)明中,主要相對(duì)于WWiFiP2P協(xié)議所規(guī)范的兩部智能終端而言,其中,作為客戶端的智能終端的忍片模組工作于該協(xié)議所規(guī)范的P2P-Client模式下,即表現(xiàn)為客戶端角色;而與之相對(duì)的本發(fā)明的智能終端則工作于該協(xié)議所規(guī)范的P2P-G;roup0wne;r(P2PGO)模式下,即表現(xiàn)為服務(wù)端角色。[0066]Amlroid系統(tǒng)中,封裝了一個(gè)點(diǎn)對(duì)點(diǎn)連接管理類,即WiFiP2pManager,顧名思義,該類即用于依照WiFiP2P協(xié)議的規(guī)范來管理Amlroid終端之間的點(diǎn)對(duì)點(diǎn)連接。該類構(gòu)造了一個(gè)用于建立所述的網(wǎng)絡(luò)群組的方法函數(shù),具體引用形式為WiFiPSpManager.createGroup(wifip2pmanger.chanenl,wifip2pmanager.ActionListener),調(diào)用該方法,可從倉。建一個(gè)熱點(diǎn),使智能終端啟動(dòng)熱點(diǎn)模式,并且將自身設(shè)置為服務(wù)端,由此創(chuàng)建的熱點(diǎn)還可W供不支持WiFiP2P協(xié)議的傳統(tǒng)WiFi設(shè)備與之連接。由此形成的網(wǎng)絡(luò)群組,可W使用該類的另一方法函數(shù):requestConnectionInfo(wifip2pman邑er.chanenl,¥1;1^19化1]1日]1日肖日1'.4(31:;[0化131日]1日1')去得到詳細(xì)的連接信息。運(yùn)個(gè)《^;1^19化1]1;1!'〇連接信息包含了擁有組者也即服務(wù)端的地址gro叫OwnerAcWress和一個(gè)去說明當(dāng)前設(shè)備是否是運(yùn)個(gè)p2p組的擁有者的標(biāo)志isGroupOwer,一個(gè)p2p的客戶端因此可W和p2p組擁有者通過一個(gè)socket連接進(jìn)行通信。[0067]Android操作系統(tǒng)默認(rèn)情況下,并不允許同一智能終端的WiFi忍片模組同時(shí)工作于客戶端和服務(wù)端兩種模式下,但是,通過自行創(chuàng)建所述的網(wǎng)絡(luò)群組卻可解決運(yùn)一問題,其中createGroup()函數(shù)的調(diào)用起到關(guān)鍵的作用,其完成了本智能終端的熱點(diǎn)模式的啟動(dòng)。[0068]由于本發(fā)明重點(diǎn)是希望解決讓客戶端通過服務(wù)端所在的智能設(shè)備的WiFi功能訪問外網(wǎng)的網(wǎng)絡(luò)配置問題。在不考慮客戶端自行連接外網(wǎng)的前提下,本智能終端能夠訪問外網(wǎng),是接入本網(wǎng)絡(luò)群組的客戶端訪問外網(wǎng)的前提。因此,較佳的方式中,是使本智能終端在完成上述熱點(diǎn)模式的啟動(dòng)之前,便已啟動(dòng)了站點(diǎn)模式。[0069]欲啟動(dòng)Amlroid系統(tǒng)的站點(diǎn)模式,可W通過用戶在系統(tǒng)設(shè)置頁上手動(dòng)開啟或通過系統(tǒng)的站點(diǎn)進(jìn)程來建立。所述站點(diǎn)進(jìn)程,特指Android系統(tǒng)自身提供的wpa_swplicant進(jìn)程,wpa_supplicant本是開源項(xiàng)目源碼,被谷歌修改后加入android移動(dòng)平臺(tái),主要是用來支持WEP,WPA/WPA2和WAPI無線協(xié)議和加密認(rèn)證的,而實(shí)際上的工作內(nèi)容是通過socket(不管是wpa_supplicant與上層還是wpa_supplicant與驅(qū)動(dòng)都采用socket通訊)與驅(qū)動(dòng)交互上報(bào)數(shù)據(jù)給用戶,用戶可1^通過socket發(fā)送命令給wpa_supplicant調(diào)動(dòng)驅(qū)動(dòng)來對(duì)WiFi芯片操作。簡單的說,wpa_supplicant就是WiFi驅(qū)動(dòng)和用戶的中轉(zhuǎn)站外加對(duì)協(xié)議和加密認(rèn)證的支持。經(jīng)過編譯后的wpa_supplicant源程序可^看到兩個(gè)主要的可執(zhí)行工具:wpa_supplicant和wpa_cliDwpa_supplicant是核屯、程序,它和wpa_cli的關(guān)系就是服務(wù)和客戶端的關(guān)系:后臺(tái)運(yùn)行wpa_supplicant,使用wpa_cli來搜索、設(shè)置、和連接網(wǎng)絡(luò)。[0070]^下提供一個(gè)利用wpa_cli來完成網(wǎng)絡(luò)連接的示例供本領(lǐng)域技術(shù)人員參照理解本發(fā)明,但不應(yīng)理解為對(duì)本發(fā)明的實(shí)現(xiàn)的限制。[0071]要實(shí)現(xiàn)網(wǎng)絡(luò)連接功能,首先需要運(yùn)行wpa_supplicant程序1^加載基本功能;[0072]執(zhí)行;/system/bin/wpa_supplicant-d-Dwext-iwlan〇-c/data/misc/wifi/wpa_supplic過nt.conf[0073]其中;[0074]-d:增加調(diào)試信息[0075]-Dwext:wext,驅(qū)動(dòng)名稱[0076]-iwlanO:wlanO,網(wǎng)絡(luò)接口名稱[0077]/system/bin/wpa_supplicant:wpa_supplicant,可執(zhí)行程序路徑[0078]/data/misc/wifi/wpa_supplicant·conf:wpa_supplicant的配置文件路徑[00巧]然后,運(yùn)行命令行工具wpa_cli;[0080]執(zhí)行;wpa_cli-iwlan〇-p/data/system/wpa_supplleant[0081]注意,-口/(13古3/373古6111/師口3_3啡口1;!_0311古中的師口3_3啡口1;!_0311古并不是可執(zhí)行程序,而是個(gè)控制套接字。[0082]此時(shí)會(huì)進(jìn)入交互模式。其中交互模式的命令如下表:[0083]Fullcommand[0084]Shortcommand[008日]Description[0086]sta化s[0087]stat[0088]displaysthecurrentco打打ectio打status[0089]disconnect[0090]disc[0091]preventswpa_supplleantfromconnectingtoanyaccesspoint[0092]quit[0093]q[0094]exitswpa_cli[0095]terminate[0096]term[0097]killswpa_supplleant[0098]reconfigure[0099]recon[0100]reloadswpa_supplicantwiththeconfigurationfilesupplied(-cparameter)[0101]scan[0102]scan[0103]scansforavailableaccesspoi打ts(o打lyscansit,doesn'tdisplayanything)[0104]scan_result[0105]scan_r[0106]displaystheresultsofthelastscan[0107]list_networks[010引list_n[0109]displaysalistofconfigurednetworksandtheirstatus(activeornot,enabledordisabled)[0110]select_network[0111]select_n[0112]selectanetworkamongthosedefinedtoinitiateaconnection(ieselect-network0)[0113]enable-network[0114]enable_n[011日]makesaconfigurednetworkavailableforselection(ieenable-network0)[0116]disable_network[0117]disable_n[011引makesaconfigurednetworkunavailableforselection(iedisable_network0)[0119]remove-network[0120]remove-打[0121]removesanetworkanditsconfigurationfromthelist(ieremove_network0)[0122]add_network[0123]add_n[0124]addsanewnetworktothelist.Itsidwillbecreatedautomatically[01巧]set_network[0126]set_n[0127]showsaveryshortlistofavailableoptionstoconfigureanetworkwhensuppliedwithnoparameters.[0128]Seenextsectionforalistofextremelyusefulparameterstobeusedwithset_networkandget_network.[01巧]get_network[0130]get_n[0131]displaystherequiredparameterforthespecifiednetwork.Seenextsectionforalistofparameters[0132]save_config[0133]save_c[0134]savestheconfiguration[0135]W上命令項(xiàng)可^從六〇虹〇1(1的公開技術(shù)文檔中查看,此處僅供參考。[0136]設(shè)置網(wǎng)絡(luò)的基本格式的指令為:set_network<networkidXkey〉<parameter〉[〈parameter〉][0137]顯示網(wǎng)絡(luò)信息的基本格式的指令為:get_network<networkidXkey〉[0138]相應(yīng)的參數(shù)如下表:[0139]Key[0140]Description[0141]Parameters[0142]ssid[0143]Accesspointname[0144]string[0145]id_str[0146]Stringidentifyingthenetwork[0147]string[014引priority[0149]ConnectionpriorityoverotherAPs[0150]number(0beingthedefaultlowpriority)[0151]bssid[01己2]Macaddressoftheaccesspoint[0153]macaddress[0154]scan_ssid[0巧日]Enable/disbalessidscan[0156]0,1,2[0157]keyjngmt[01己8]Typeofkeymanagement[0159]WPA-P漲,WPA_EAP,None[0160]pairwise[0161]PairwiseciphersforWPA[0162]CCMPJKIP[0163]group二TKIP[0164]GroupciphersforWPA[0165]CCMP,TKIP,肥P104,肥P40[0166]psk[0167]Pre-SharedKey(clearorencrypted)[016引string[0169]wep_key0[0170]肥Pkey(upto4:wep_key[0123])[0171]string[0172]eap[0173]ExtensibleAuthenticationProtocol[0174]MD5,MSCHAPV2,OTP,GTC,TLS,PEAP,TTLS[0175]identity[0176]EAPidentitystring[0177]string[017引password[01"79]EAPpassword[0180]string[0181]ca-cei't[0182]PathnametoCAcertificatefile[0183]/full/path/to/certificate[0184]client-cei't[018己]Pathnametoclientcertificate[0186]/full/path/to/certificate(PEM/DER)[0187]private_key[0188]Pathnametoaclientprivatekeyfile[0189]/full/path/to/private-key^EM/DER/Pra)[0190]同理,^上參數(shù)表也可通過公共途徑從Android官方得到,僅供參考,恕不繁述。W下利用一用于連接無加密的AP的具體實(shí)例說明如何實(shí)現(xiàn)網(wǎng)絡(luò)連接:[0191]〉add_network(將顯示一網(wǎng)絡(luò)ID,假定返回值為0)[0192]〉set_network0ssid"666"[0193]〉set_networkOkeyjn卵tNONE[0194]>enable_network0[0195]>quit[0196]再利用一用于連接WEP加密的AP的具體實(shí)例加W說明:[0197]〉add_network(假定網(wǎng)絡(luò)ID返回1)[0198]〉set_networklssid"666"[0199]〉set_networklkey_m卵tNONE[0200]>set_networklwep_key0"yourappassword"[0201]>enable_network1[0202]至于連接WPA-PSK/WPA2-PSK加密的AP的示例如下:[0203]〉add_network(假定網(wǎng)絡(luò)ID返回2)[0204]〉set_network2ssid"666"[0205]>set_network2psk"yourpre-sharedkey"[0206]>enable_network2[0207]到此,wifi模塊就能連接上APT。[020引W上是通過命令行工具wpa_cli來實(shí)現(xiàn)wifi網(wǎng)絡(luò)的連接。當(dāng)然,也可W通過wpa_supp1icant的配置文件來實(shí)現(xiàn)連接。[0209]不妨再回顧前面運(yùn)行wpa_supp1icant時(shí)執(zhí)行的命令:[0210]/system/bin/wpa_supplicant-d-Dwext-iwlan〇-c/data/misc/wifi/wpa_supplic曰nt.conf[0211]我們在執(zhí)行時(shí)加上了-c/data/misc/wifi/wpa_supplicant.conf,故而可W將要連接的AP的設(shè)置W-定的格式寫入wpa_supplicant.conf配置文件中即可。例如:[0212]ctrl_interface=DIR=/data/system/wpa_supplicantGROUP=systemupdate_config=l[0213]network={[0214]ssid="myaccesspoint"[0215]proto=WPA[0^6]key_m卵t=WPA-PSK[0217]psk="youpasswords"[021引}[0219]可見,即使是調(diào)用站點(diǎn)進(jìn)程啟動(dòng)智能終端WiFi忍片模組的站點(diǎn)模式,也可通過W上運(yùn)用指令、運(yùn)用配置文件兩種不同方式,來實(shí)現(xiàn)由應(yīng)用程序進(jìn)程自行控制所述的站點(diǎn)進(jìn)程的開啟,從而使智能終端工作于站點(diǎn)模式之下。[0220]由W上的分析可知,本發(fā)明可W借助多種方式激活智能終端的站點(diǎn)模式,并通過調(diào)用點(diǎn)對(duì)點(diǎn)連接管理類的createGro啡方法來激活智能終端的熱點(diǎn)模式,運(yùn)兩種模式可W并存于Amlroid智能終端中。從而使得智能終端能夠利用其站點(diǎn)模式接入外網(wǎng),同時(shí)利用熱點(diǎn)模式建構(gòu)一個(gè)小型網(wǎng)絡(luò)。[0221]為使上述的雙模狀態(tài)更易于操作,體現(xiàn)更佳的用戶體驗(yàn),本發(fā)明的應(yīng)用程序進(jìn)程可W通過對(duì)用戶界面進(jìn)行設(shè)計(jì)來對(duì)此加W完善。[0222]用戶界面泛指能夠用于實(shí)現(xiàn)人機(jī)交互并且能夠接收用戶控制指令的顯示界面,例如,可W為Android系統(tǒng)的設(shè)置頁面中的一個(gè)選項(xiàng)(或按鍵,由所述應(yīng)用程序添加其中,下同),也可W是從桌面呼出的通知欄或者交互頁面中的一個(gè)選項(xiàng),還可W是所述應(yīng)用程序的一個(gè)活動(dòng)組件所構(gòu)造的頁面中的一個(gè)選項(xiàng)。[0223]本發(fā)明優(yōu)選如下兩種方式,用于接收所述的控制指令:[0224]其一,通過在用戶界面提供單個(gè)控制按鍵,W用于一鍵式地接收所述的控制指令,運(yùn)種方式便于用戶實(shí)現(xiàn)一鍵式操作。[0225]其二,通過在用戶界面對(duì)應(yīng)熱點(diǎn)模式和站點(diǎn)模式而分別提供控制按鍵,W分別對(duì)應(yīng)不同按鍵而產(chǎn)生對(duì)應(yīng)啟動(dòng)相應(yīng)的模式的控制指令。[0226]根據(jù)W上的方式提供的控制按鍵,通常運(yùn)些按鍵可W優(yōu)選設(shè)置在系統(tǒng)桌面通知欄列表處,或者W桌面懸浮窗的方式提供,既便于用戶觸控控制,又不影響用戶視覺效果,當(dāng)然也可作為系統(tǒng)的默認(rèn)功能而隨用戶開啟WiFi按鍵時(shí)激活。較佳的,所述應(yīng)用程序可W將自身設(shè)為自啟動(dòng)項(xiàng),使得系統(tǒng)啟動(dòng)時(shí),可W自行加載所述的按鍵,從而便于用戶操作。[0227]當(dāng)用戶通過所述的用戶界面,觸控所述的控制按鍵之后,便產(chǎn)生相應(yīng)的控制指令,該控制指令將被所述應(yīng)用程序的進(jìn)程接收,從而對(duì)應(yīng)的控制熱點(diǎn)模式和/或站點(diǎn)模式開啟。[0228]具體而言,用戶既可W通過單個(gè)控制按鍵來同時(shí)開啟熱點(diǎn)模式和站點(diǎn)模式,也可W通過兩個(gè)與兩種模式相對(duì)應(yīng)的按鍵來開啟,實(shí)質(zhì)上提供了多種操作變化例。對(duì)應(yīng)運(yùn)些變化,W下進(jìn)一步示例說明。[0229]設(shè)用戶界面提供單個(gè)控制按鍵,用戶通過該單個(gè)控制按鍵而觸發(fā)其用戶指令,此處便可W先調(diào)用createGroupO創(chuàng)建熱點(diǎn)。繼而,本發(fā)明的應(yīng)用程序進(jìn)程再自行啟動(dòng)該站點(diǎn)進(jìn)程,由此便可實(shí)現(xiàn)兩種模式的并存。反之,也可W先行啟動(dòng)站點(diǎn)進(jìn)程,在其完成開啟之后,再行參照上述示例開啟熱點(diǎn)模式。也就是說,對(duì)應(yīng)于單個(gè)控制按鍵引起的控制指令,可不同的實(shí)施方式靈活安排所述熱點(diǎn)模式和站點(diǎn)模式的啟動(dòng)順序。[0230]而對(duì)應(yīng)用戶界面提供不同的控制按鍵,分別表征開啟不同的模式的實(shí)例而言,貝U可按用戶點(diǎn)擊不同控制按鍵的順序而按序開啟相應(yīng)的模式,此舉并不影響本發(fā)明的實(shí)施。[0231]在優(yōu)選的方案中,推薦優(yōu)先讓站點(diǎn)模式先于熱點(diǎn)模式開啟,在確保本智能終端可W連接外網(wǎng)的情況下,向其他智能終端提供接入功能,可W免除一些無用功,更為節(jié)能。[0232]由此可見,將站點(diǎn)模式與熱點(diǎn)模式相繼啟動(dòng)后,便可W實(shí)現(xiàn)兩種模式的共存。在此基礎(chǔ)上,本發(fā)明的應(yīng)用程序進(jìn)程可W向用戶界面輸出一些結(jié)果信息,W告知用戶該智能終端當(dāng)前已經(jīng)處于熱點(diǎn)模式和站點(diǎn)模式共存的雙模狀態(tài)。至于所述的結(jié)果信息的表達(dá)形式,既可W是通過系統(tǒng)消息顯示到通知欄中,也可W在桌面上彈窗顯示,更優(yōu)的方式可W是調(diào)用一個(gè)預(yù)設(shè)的第Ξ方圖標(biāo),用于表征該智能終端處于熱點(diǎn)模式和站點(diǎn)模式共存的雙模狀態(tài),將該第Ξ方圖標(biāo)顯示到用戶界面的系統(tǒng)狀態(tài)欄中,使得用戶更易于獲知相應(yīng)的結(jié)果信息。[0233]步驟S12、W系統(tǒng)最高權(quán)限調(diào)用網(wǎng)絡(luò)守護(hù)進(jìn)程修改網(wǎng)絡(luò)共享配置信息使連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接。[0234]設(shè)及到對(duì)網(wǎng)絡(luò)守護(hù)進(jìn)程直接調(diào)用的操作,依照Amlroid的規(guī)范,需要獲取系統(tǒng)的最高權(quán)限,因而,在獲取Amlroid系統(tǒng)最高權(quán)限或者Amlroid系統(tǒng)已經(jīng)開放最高權(quán)限的前提下,可W通過對(duì)所述網(wǎng)絡(luò)守護(hù)進(jìn)程進(jìn)行調(diào)用,借此修改設(shè)及到網(wǎng)絡(luò)共享的配置信息,即網(wǎng)絡(luò)共享配置信息,W便連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接,讓客戶端可W通過服務(wù)端來訪問外網(wǎng)。[02巧]所述的網(wǎng)絡(luò)守護(hù)進(jìn)程,即Netd,化twork化emon的縮寫。Netd負(fù)責(zé)跟一些設(shè)及物理端口的網(wǎng)絡(luò)操作相關(guān)的功能實(shí)現(xiàn),例如帶寬控制(Bandwi化h),網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT),個(gè)人局域網(wǎng)(pan),PPP鏈接,S0ft-ap,本智能終端的熱點(diǎn)模式所設(shè)及的共享上網(wǎng)(Tether)等等……都是按照模塊(.cpp+.h)組織在netd文件目錄下的。[0236]Amlroid化td相關(guān)的基本框架的四大部分:[0237](1化inuxKernel用于檢測網(wǎng)絡(luò)相關(guān)的所有事件。[023引(2)化td作為Kerne1(內(nèi)核層)與Framework(框架層)之間通信的橋梁。[0239](3)框架層操作化td,向化td發(fā)送操作命令。[0240](4)應(yīng)用層與框架層交互,用于用戶進(jìn)行網(wǎng)絡(luò)的操控。[0241]Amlroid為化td提供了一個(gè)測試工具,即ndc,其主要功能有:[0242]監(jiān)視化td中發(fā)生的事件。[0243]支持通過命令行發(fā)送命令給化td去執(zhí)行。ndc的實(shí)現(xiàn)原理,便是連接上位于netd進(jìn)程中的"netd"監(jiān)聽socket,然后從化td接收信息或發(fā)送命令給化td。[0244]由此可見,可W通過ndc來驅(qū)動(dòng)網(wǎng)絡(luò)守護(hù)進(jìn)程執(zhí)行相關(guān)指令,本發(fā)明中,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)共享配置信息的修改的功能,便可利用ndc命令來實(shí)施。[0245]請(qǐng)先參照如下對(duì)Android系統(tǒng)實(shí)施的觀測過程:[0246]首先,通過分析,發(fā)現(xiàn)createGroup()創(chuàng)建熱點(diǎn)之后,雖然可W被客戶端連接,但其用于向用戶反饋DHCP配置信息的配置進(jìn)程DNSmasq的參數(shù)如下:[0247]/system/bin/dnsnmsq-keep-in-fore邑round-no-resolv-no-poll-dhcp-authoritative-dhcp-〇ption-force=43,ANDR0ID_METERED-pid-file-dhcp-range=192.168.42.2,192.168.42.254,化一dhcp-range=192.168.43.2,192.168.43.254,化--dhcp-range=192.168.44.2,192.168.44.254,化一化cp-range=192.168.45.2,192.168.45.254,化一化cp-range=192.168.46.2,192.168.46.254,化一化cp-range=192.168.47.2,192.168.47.254,化一dhcp-range=192.168.48.2,192.168.48.254,化一化cp-range=192.168.49.2,192.168.49.254,化[0248]從中可W看出,其中增加了強(qiáng)制配置序列為43的控制選項(xiàng)即化cp-option-force=43,ANDR0ID_METERED,序號(hào)43的官方釋義是廠商指定選項(xiàng),用于表示當(dāng)前連接為計(jì)費(fèi)連接,在運(yùn)種情況下,客戶端將不能利用服務(wù)端的外網(wǎng)連接,W免產(chǎn)生巨額費(fèi)用。然而,運(yùn)種設(shè)計(jì)邏輯是W服務(wù)端將通過運(yùn)營商的計(jì)費(fèi)連接而提供訪問外網(wǎng)服務(wù)的,但服務(wù)端存在WWiFi站點(diǎn)模式建立的免費(fèi)外網(wǎng)連接的情況,并未被An化oid所兼容。[0249]繼而,通過分析An化oid官方文檔中對(duì)于了日地日祐〇11化〇11日1'(共享控制器)的源代碼可知,在運(yùn)種情況下,該處對(duì)ANDR0ID_METER抓進(jìn)行了規(guī)范,然而,卻未見默認(rèn)網(wǎng)關(guān)的設(shè)置。[02加]而對(duì)客戶端中進(jìn)行分析,從core.java,an化oid.net.DhcpInfoInternal也就是化cp客戶端那邊,利用下述的代碼實(shí)施檢測:[0251][0252]W上的分析表明,如要令客戶端通過服務(wù)端來連接外網(wǎng),需要避開上述的控制選項(xiàng)的影響。[0253]進(jìn)而,通過分析本智能終端的熱點(diǎn)模式開啟前和開啟后的數(shù)據(jù)包轉(zhuǎn)發(fā)開關(guān)和數(shù)據(jù)包過濾表即ip化bles,也發(fā)現(xiàn)影響客戶端上網(wǎng)的因子。[0254]具體而言,對(duì)于數(shù)據(jù)包轉(zhuǎn)發(fā)開關(guān),可W發(fā)現(xiàn),cat/proc/sys/net/ipvVip_forward的結(jié)果是1而不是0,因而理論上可W通過echo"l"〉/p;roc/sys/net/ipv4/ip_fo;rwardenable來改變此一開關(guān)設(shè)置,使其打開數(shù)據(jù)包轉(zhuǎn)發(fā)功能。然而,運(yùn)種情況下,由于受iptables的影響,即使做出上述的改變,客戶端進(jìn)行外網(wǎng)訪問仍然未能楊通。當(dāng)智能終端的熱點(diǎn)模式下的P2p0標(biāo)識(shí)所對(duì)應(yīng)的接口收到數(shù)據(jù)包,雖會(huì)查找路由,并且發(fā)到其站點(diǎn)模式下wlanO標(biāo)識(shí)所對(duì)應(yīng)的接口,但是會(huì)被ip化b1es的過濾規(guī)則所丟棄。[02W]對(duì)于iptables,發(fā)現(xiàn)其存在兩方面的影響,其一是其中包含有將接口p2p0的數(shù)據(jù)包丟棄的規(guī)則,其二是欠缺將智能終端映射到公網(wǎng)的NAT規(guī)則。對(duì)于前者,可W通過W下指令處理:iptables-DF0RWA畑4,即刪除forward里的第4條規(guī)則,也即natc化1_F0RWA畑規(guī)貝ij。運(yùn)時(shí)候當(dāng)p2p0收到包,會(huì)從wlanO發(fā)出。但是運(yùn)個(gè)包的源ip是一個(gè)內(nèi)網(wǎng)ip。因此,需要對(duì)后者做處理如下:iptables-tnat-APOSTROUTING-0wlanO-jMASQ肥RADE,即向ip化bles過濾表增加一條nat規(guī)則,添加之后,在另一個(gè)手機(jī)上,便可Wping通外網(wǎng)ip了。由客戶端到外網(wǎng)的連接,由此便楊通了。自然的,W及結(jié)合實(shí)踐分析,網(wǎng)關(guān)也已經(jīng)得到正確配置。[0256]通過上述的處理,僅僅解決了IP層的問題,對(duì)于DNS解析的功能,則仍未實(shí)現(xiàn)。進(jìn)一步通過分析DNSmasq的配置參數(shù),發(fā)現(xiàn)其攜帶了一no-resolv選項(xiàng),該選項(xiàng)正是導(dǎo)致影響客戶端獲取正確的DNS解析的原因。由此,可W通過修改startTethering方法或者增加一個(gè)s^dTetheringWithDnsO方法,去掉一n〇-resolv參數(shù)。完成運(yùn)些操作,客戶端經(jīng)服務(wù)端到外網(wǎng),具體到基于域名的萬維網(wǎng)的訪問,便楊通無阻了。[0257]W上,概括而言,本發(fā)明為實(shí)現(xiàn)客戶端通過服務(wù)端訪問外網(wǎng)而借助ndc工具驅(qū)動(dòng)網(wǎng)絡(luò)守護(hù)進(jìn)程所做出的設(shè)及到網(wǎng)絡(luò)共享配置信息的修改,主要設(shè)及到W下方面:[0258]其一、開通連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包轉(zhuǎn)發(fā)功能:具體表現(xiàn)為可通過echo指令設(shè)置其參數(shù)為1來打開。[0259]其二、修正用于楊通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包過濾表的設(shè)置內(nèi)容:具體表現(xiàn)為對(duì)ip化bles表格去除相應(yīng)的過濾條目W及添加NAT映射記錄。[0260]其Ξ、去除客戶端共享上網(wǎng)限制解析DNS的選項(xiàng):具體表現(xiàn)為可通過共享控制器(TetherContro11er)的有關(guān)方法來去除一n〇-reso1v選項(xiàng)。[0261]由此可見,通過上述的方法,便可使本發(fā)明的智能終端實(shí)現(xiàn)連通其熱點(diǎn)模式與其站點(diǎn)模式下之間的網(wǎng)絡(luò)連接,為客戶端提供接入外網(wǎng)的服務(wù)。[0262]W上通過掲示對(duì)Amlroid的系統(tǒng)原理的分析過程,掲示了本發(fā)明的實(shí)現(xiàn)原理,并提供了如何修改網(wǎng)絡(luò)共享配置信息的一種實(shí)施例,除此之外,還可通過W下的方式來修改網(wǎng)絡(luò)共享配置信息:[0263]運(yùn)種方式具體而言,即W系統(tǒng)最高權(quán)限調(diào)用ndc工具通過網(wǎng)絡(luò)守護(hù)進(jìn)程來實(shí)現(xiàn)修改的方式,請(qǐng)參閱如下代碼及其說明:[0264]ndcipfwdenable[02化]ndctetherdnsset0114.114.114.114[0266]//如果失敗,通常意味著前面有手工操作沒有完全撤銷。執(zhí)行ps|gr邱dnsmasq先強(qiáng)制關(guān)閉配置進(jìn)程。如果還有殘留進(jìn)程,例如:[0267]shelliCP8681_A01:/#ps|grepdnsmasq[0268]dhcp355732510272740001a0338b66f61acS/system/bin/dnsmasq[0269]//執(zhí)行kill3557殺掉,然后[0270]ndctetherstop,//停止共享[0271]ndctether8化的192.168.49.2192.168.49.254//啟動(dòng)共享,配置網(wǎng)段[0^2]ndctetherdnsset0114.114.114.114/7設(shè)置DNS[0273]ndcnatenablep化OwlanO0//添加NAT規(guī)則[0274]經(jīng)測試,W上代碼所起的效果與上方掲示的手動(dòng)修改過程一致,經(jīng)由此段代碼作用,數(shù)據(jù)包轉(zhuǎn)發(fā)功能被打開,iptables過濾表得到正確的配置,DNS解析功能也得到正確的維護(hù)。因此,本發(fā)明的應(yīng)用程序可W在系統(tǒng)最高權(quán)限狀態(tài)下,在啟動(dòng)熱點(diǎn)模式之后,執(zhí)行運(yùn)段代碼,便實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)共享配置信息的正確修改,客戶端便可通過服務(wù)端來上網(wǎng)。[0275]多數(shù)的Amlroid系統(tǒng)智能終端,由于廠商的限制,并未開放其系統(tǒng)最高權(quán)限,或者未成功被ROOT,對(duì)于運(yùn)種情況,W上WND巧旨令直接驅(qū)動(dòng)網(wǎng)絡(luò)守護(hù)進(jìn)行實(shí)施網(wǎng)絡(luò)共享配置信息的修改的操作將不能成功。因此,需要另辟曖徑。[0276]-種改進(jìn)的方式是將W上WNDC表達(dá)的代碼封裝成一個(gè)方法函數(shù)(配置接口),對(duì)WiFiPSpManager類的開源代碼文件即WifiPSpServiceImpI.java進(jìn)行修改,由于WifiP化Servicelmpl.java可W直接通過mNwService導(dǎo)出的函數(shù)實(shí)現(xiàn)那些ndc命令,因在,可在里面增加該方法函數(shù),并且導(dǎo)出給WiFiP化Manager類使用,運(yùn)樣,本發(fā)明的應(yīng)用程序只需直接通過WiFiP2pManager類調(diào)用該配置接口,即可實(shí)施對(duì)網(wǎng)絡(luò)共享配置信息的修改,而無需借助系統(tǒng)最高權(quán)限的獲取。[0277]由此可見,借助ndc命令控制所述網(wǎng)絡(luò)守護(hù)進(jìn)程W修改網(wǎng)絡(luò)共享配置參數(shù)的方式也是多樣化的。[0278]通過實(shí)施上述的多種控制方式,均可使服務(wù)端的熱點(diǎn)模式和站點(diǎn)模式之間的網(wǎng)絡(luò)連接互相連通,路由的問題隨之有解。[0279]步驟S13、在客戶端接入所述網(wǎng)絡(luò)群組后,建立該客戶端與由所述站點(diǎn)模式所維持的外網(wǎng)的連接。[0280]客戶端接入服務(wù)端提供的網(wǎng)絡(luò)群組之后,將向服務(wù)端發(fā)送DHCP請(qǐng)求,服務(wù)端的配置進(jìn)程讀取經(jīng)上述修改之后的正確的網(wǎng)絡(luò)共享配置信息,反饋給客戶端。客戶端據(jù)此完成自身的網(wǎng)絡(luò)設(shè)置后,便可經(jīng)作為服務(wù)端本發(fā)明智能終端的熱點(diǎn)接口、站點(diǎn)接口而訪問外網(wǎng)。對(duì)于本智能終端而言,當(dāng)其接收客戶端訪問外網(wǎng)的數(shù)據(jù)包時(shí),將該數(shù)據(jù)包轉(zhuǎn)發(fā)經(jīng)所述站點(diǎn)模式的路徑傳輸給所述的外網(wǎng);當(dāng)其接收外網(wǎng)訪問客戶端的數(shù)據(jù)包時(shí),將其轉(zhuǎn)發(fā)經(jīng)所述熱點(diǎn)模式的路徑傳輸給該客戶端。[0281]進(jìn)一步的,為完善本發(fā)明的應(yīng)用程序進(jìn)程的功能,可W增加后續(xù)步驟:該步驟響應(yīng)于退出共享上網(wǎng)的用戶指令,恢復(fù)所述的網(wǎng)絡(luò)共享配置信息。[0282]具體而言,本發(fā)明的應(yīng)用程序可W參照前述的方式,向用戶界面提供一個(gè)共享上網(wǎng)的控制按鍵,如沿用上述已經(jīng)提供到用戶界面的控制按鍵的一個(gè)復(fù)選控制操作也可。當(dāng)該控制按鍵被觸發(fā)時(shí),便產(chǎn)生所述的用戶指令,受該用戶指令的作用,本發(fā)明便可實(shí)施斷開所述的熱點(diǎn)模式,由此便自動(dòng)斷開外部連接。[0283]進(jìn)一步,可W采用更為徹底的方式,先行對(duì)前述處理過程產(chǎn)生的網(wǎng)絡(luò)共享配置信息進(jìn)行清理,例如,參閱W下的ndc指令:[0284]ndcipfwddisable//關(guān)閉數(shù)據(jù)包轉(zhuǎn)發(fā)功能[02化]ndctetherstop//停止上網(wǎng)共享功能[02化]ndcnatdisableP化OwlanO0//關(guān)閉NAT映射功能[0287]通過本發(fā)明的應(yīng)用程序進(jìn)程執(zhí)行上述的命令,便可通過SOCKET端口控制網(wǎng)絡(luò)守護(hù)進(jìn)程執(zhí)行相應(yīng)的功能,從而避免前述的對(duì)網(wǎng)絡(luò)共享配置信息對(duì)本機(jī)使用所帶來的潛在的影響??蒞知曉,在本發(fā)明的應(yīng)用程序進(jìn)程中直接調(diào)用上述的命令控制所述的網(wǎng)絡(luò)守護(hù)進(jìn)程的前提是已經(jīng)獲取系統(tǒng)的最高權(quán)限。[0288]同理,根據(jù)上述構(gòu)造方法函數(shù)并將其植入到WiFiP2pManager中的示例可知,此處的清理代碼完全可W同樣的方法被構(gòu)造為方法函數(shù)(清退接口),添加到WiFiP2pManager類的代碼文件中,導(dǎo)出為該類的相應(yīng)的成員函數(shù),后續(xù)直接由本發(fā)明的應(yīng)用程序進(jìn)程調(diào)用該清退接口即可執(zhí)行,而不必考慮當(dāng)前是否已經(jīng)獲得系統(tǒng)ROOT權(quán)限。[0289]綜上所述,本發(fā)明的方法解決了Amlroid智能終端同時(shí)開啟熱點(diǎn)模式和站點(diǎn)模式的技術(shù)難題,并且允許接入其熱點(diǎn)模式下的網(wǎng)絡(luò)群組的客戶端經(jīng)由其站點(diǎn)模式相對(duì)應(yīng)的外網(wǎng)接口訪問外網(wǎng)。[0290]根據(jù)計(jì)算機(jī)軟件的模塊化思維,本發(fā)明還提供一種智能終端,該智能終端包括建立單元11、配置單元12W及通信單元13,W下介紹各個(gè)單元所實(shí)現(xiàn)的具體功能:[0291]所述的建立單元11,用于建立符合WiFiP2P規(guī)范的網(wǎng)絡(luò)群組W完成本智能終端的熱點(diǎn)模式的啟動(dòng),使其與本智能終端的站點(diǎn)模式并存工作。[0292]理論上可W通過An化0id系統(tǒng)的熱點(diǎn)進(jìn)程化stapd來建立所述的熱點(diǎn)模式,但是,實(shí)測中,hostapd進(jìn)程啟動(dòng)時(shí),會(huì)自動(dòng)關(guān)閉站點(diǎn)進(jìn)程,導(dǎo)致智能終端無法同時(shí)工作于熱點(diǎn)模式和站點(diǎn)模式之下,因而,轉(zhuǎn)而采用自行建立網(wǎng)絡(luò)群組的方式,可W有效避免運(yùn)一故障的發(fā)生。[0293]根據(jù)WiFiP2P協(xié)議的規(guī)范,可W使多個(gè)智能終端組在一個(gè)網(wǎng)絡(luò)群組,在該網(wǎng)絡(luò)群組中,有且只有一個(gè)服務(wù)端角色,余者為客戶端角色。所述的服務(wù)端與客戶端兩種角色,在本發(fā)明中,主要相對(duì)于WWiFiP2P協(xié)議所規(guī)范的兩部智能終端而言,其中,作為客戶端的智能終端的忍片模組工作于該協(xié)議所規(guī)范的P2P-Client模式下,即表現(xiàn)為客戶端角色;而與之相對(duì)的本發(fā)明的智能終端則工作于該協(xié)議所規(guī)范的P2P-G;roup0wne;r(P2PGO)模式下,即表現(xiàn)為服務(wù)端角色。[0294]Amlroid系統(tǒng)中,封裝了一個(gè)點(diǎn)對(duì)點(diǎn)連接管理類,即WiFiP2pManager,顧名思義,該類即用于依照WiFiP2P協(xié)議的規(guī)范來管理Amlroid終端之間的點(diǎn)對(duì)點(diǎn)連接。該類構(gòu)造了一個(gè)用于建立所述的網(wǎng)絡(luò)群組的方法函數(shù),具體引用形式為WiFiPSpManager.createGroup(wifip2pmanger.chanenl,wifip2pmanager.ActionListener),調(diào)用該方法,可從倉。建一個(gè)熱點(diǎn),使智能終端啟動(dòng)熱點(diǎn)模式,并且將自身設(shè)置為服務(wù)端,由此創(chuàng)建的熱點(diǎn)還可W供不支持WiFiP2P協(xié)議的傳統(tǒng)WiFi設(shè)備與之連接。由此形成的網(wǎng)絡(luò)群組,可W使用該類的另一方法函數(shù):requestConnectionInfo(wifip2pman邑er.chanenl,¥1;1^19化1]1日]1日肖日1'.4(31:;[0化131日]1日1')去得到詳細(xì)的連接信息。運(yùn)個(gè)《^;1^19化1]1;1!'〇連接信息包含了擁有組者也即服務(wù)端的地址gro叫OwnerAcWress和一個(gè)去說明當(dāng)前設(shè)備是否是運(yùn)個(gè)p2p組的擁有者的標(biāo)志isGroupOwer,一個(gè)p2p的客戶端因此可W和p2p組擁有者通過一個(gè)socket連接進(jìn)行通信。[0巧日]Android操作系統(tǒng)默認(rèn)情況下,并不允許同一智能終端的WiFi忍片模組同時(shí)工作于客戶端和服務(wù)端兩種模式下,但是,通過自行創(chuàng)建所述的網(wǎng)絡(luò)群組卻可解決運(yùn)一問題,其中createGroup()函數(shù)的調(diào)用起到關(guān)鍵的作用,其完成了本智能終端的熱點(diǎn)模式的啟動(dòng)。[0296]由于本發(fā)明重點(diǎn)是希望解決讓客戶端通過服務(wù)端所在的智能設(shè)備的WiFi功能訪問外網(wǎng)的網(wǎng)絡(luò)配置問題。在不考慮客戶端自行連接外網(wǎng)的前提下,本智能終端能夠訪問外網(wǎng),是接入本網(wǎng)絡(luò)群組的客戶端訪問外網(wǎng)的前提。因此,較佳的方式中,是使本智能終端在完成上述熱點(diǎn)模式的啟動(dòng)之前,便已啟動(dòng)了站點(diǎn)模式。[0297]欲啟動(dòng)Amlroid系統(tǒng)的站點(diǎn)模式,可W通過用戶在系統(tǒng)設(shè)置頁上手動(dòng)開啟或通過系統(tǒng)的站點(diǎn)進(jìn)程來建立。所述站點(diǎn)進(jìn)程,特指Android系統(tǒng)自身提供的wpa_supp1icant進(jìn)程,wpa_supplicant本是開源項(xiàng)目源碼,被谷歌修改后加入an化oid移動(dòng)平臺(tái),主要是用來支持WEP,WPA/WPA2和WAPI無線協(xié)議和加密認(rèn)證的,而實(shí)際上的工作內(nèi)容是通過socket(不管是wpa_supplicant與上層還是wpa_supplicant與驅(qū)動(dòng)都采用socket通訊)與驅(qū)動(dòng)交互上報(bào)數(shù)據(jù)給用戶,用戶可W通過socket發(fā)送命令給wpa_supplicant調(diào)動(dòng)驅(qū)動(dòng)來對(duì)WiFi忍片操作。簡單的說,wpa_supp1icant就是WiF巧區(qū)動(dòng)和用戶的中轉(zhuǎn)站外加對(duì)協(xié)議和加密認(rèn)證的支持。經(jīng)過編譯后的wpa_supplicant源程序可W看到兩個(gè)主要的可執(zhí)行工具:wpa_supplicant和wpa_cliewpa_supplicant是核屯、程序,它和wpa_cli的關(guān)系就是服務(wù)和客戶端的關(guān)系:后臺(tái)運(yùn)行wpa_supp1icant,使用wpa_c1i來捜索、設(shè)置、和連接網(wǎng)絡(luò)。[0298]W下提供一個(gè)利用wpa_cli來完成網(wǎng)絡(luò)連接的示例供本領(lǐng)域技術(shù)人員參照理解本發(fā)明,但不應(yīng)理解為對(duì)本發(fā)明的實(shí)現(xiàn)的限制。[0299]要實(shí)現(xiàn)網(wǎng)絡(luò)連接功能,首先需要運(yùn)行wpa_supplicant程序W加載基本功能;[0300]執(zhí)行;/system/bin/wpa_supplicant-d-Dwext-iwlanO-c/data/misc/wifi/wpa_supplic曰nt.conf[0301]其中;[0302]-d:增加調(diào)試信息[0303]-Dwext:wext,驅(qū)動(dòng)名稱[0304]-iwlan0:wlan0,網(wǎng)絡(luò)接口名稱[03化]/syStem/bin/wpa_supp1icant:wpa_supp1icant,可執(zhí)行程序路徑[0306]/da1:a/misc/wifi/wpa_su卵licant.conf:wpa_su卵licant的配置文件路徑[0307]然后,運(yùn)行命令行工具wpa_cli;[0308]執(zhí)行;wpa_cli-iwlan〇-p/data/system/wpa_supplleant[0309]注意,_9/(1日1:日/37316111/可)日_3啡91;[。日]11:中的可)日_3啡91;[。日]11:并不是可執(zhí)行程序,而是個(gè)控制套接字。[0310]此時(shí)會(huì)進(jìn)入交互模式。其中交互模式的命令如下表:[0311]化11command[0312]Sho;rtcommand[0313]Description[0314]status[0315]stat[0316]displaysthecurrentco打打ectio打status[0317]disconnect[031引disc[0319]preventswpa_supplleantfromconnectingtoanyaccesspoint[0320]quit[0321]q[0322]exitswpa_cli[0323]terminate[0324]term[032己]killswpa_supplleant[0326]reconfigure[0327]recon[032引reloadswpa_supplicantwiththeconfigurationfilesupplied(-cparameter)[0329]scan[0330]scan[0331]scansforavailableaccesspoi打ts(o打lyscansit,doesn'tdisplayanything)[0332]scan_result[0333]scan_r[0334]displaystheresultsofthelastscan[033引list_networks[0336]list_n[0337]displaysalistofconfigurednetworksandtheirstatus(activeornot,enabledordisabled)[0338]select_network[0339]select_n[0340]selectanetworkamongthosedefinedtoinitiateaconnection(ieselect-network0)[0341]enable_network[0342]enable_n[0343]makesaconfigurednetworkavailableforselection(ieenable-network0)[0344]disable_network[0345]disable_n[0346]makesaconfigurednetworkunavailableforselection(iedisable_network0)[0347]remove_network[034引remove_n[0349]removesanetworkanditsconfigurationfromthelist(ieremove_network0)[0350]add_network[0:3日1]add_n[03日2]addsanewnetworktothelist.Itsidwillbecreatedautomatically[03己3]set_network[0巧4]set_n[03日日]showsaveryshortlistofavailableoptionstoconfigureanetworkwhensuppliedwithnoparameters.[03日6]Seenextsectionforalistofextremelyusefulparameterstobeusedwithset_networkandget_network.[03己7]get_network[0:3日引get_n[03己9]displaystherequiredparameterforthespecifiednetwork.Seenextsectionforalistofparameters[0360]save_config[0361]save_c[0362]savestheconfiguration[0363]W上命令項(xiàng)可^從六〇虹〇1(1的公開技術(shù)文檔中查看,此處僅供參考。[0364]設(shè)置網(wǎng)絡(luò)的基本格式的指令為:set_network<networkidXkey〉<parameter〉[〈parameter〉][0365]顯示網(wǎng)絡(luò)信息的基本格式的指令為:get_network<networkidXkey〉[0366]相應(yīng)的參數(shù)如下表:[0367]Key[0368]Description[0369]Parameters[0370]ssid[0371]Accesspointname[0372]string[0373]id_str[0374]Stringidentifyingthenetwork[0375]string[0376]priority[0377]ConnectionpriorityoverotherAPs[037引number(Obeingthedefaultlowpriority)[0379]bssid[0380]Macaddressoftheaccesspoint[0381]macad虹ess[0382]scan_ssid[0383]Enable/disbalessidscan[0384]0,1,2[0385]keyjngmt[0386]Typeofkeymanagement[0387]WPA-P漲,WPA_EAP,None[038引pairwise[0389]PairwiseciphersforWPA[0390]CCMPJKIP[0391]group二TKIP[0392]GroupciphersforWPA[0393]CCMP,TKIP,肥P104,肥P40[0394]psk[039己]Pre-SharedKey(clearorencrypted)[0396]string[0397]wep_key0[0398]肥Pkey(upto4:wep_key[0123])[0399]string[0400]eap[0401]ExtensibleAuthenticationProtocol[0402]MD5,MSCHAPV2,OTP,GTC,TIS,PEAP,TTLSidentity[0403]EAPidentitystring[0404]string[0405]password[0406]EAPpassword[0407]string[040引ca_cert[0409]PathnametoCAcertificatefile[0410]/full/path/to/certificate[0411]client-Cei't[0412]Pathnametoclientcertificate[0413]/full/path/to/certificate(PEM/DER)[0414]private_key[041己]Pathnametoaclientprivatekeyfile[0416]/full/path/to/private-key^EM/DER/Pra)[0417]同理,^上參數(shù)表也可通過公共途徑從Android官方得到,僅供參考,恕不繁述。W下利用一用于連接無加密的AP的具體實(shí)例說明如何實(shí)現(xiàn)網(wǎng)絡(luò)連接:[0418]〉add_network(將顯示一網(wǎng)絡(luò)ID,假定返回值為0)[0419]〉set_network0ssid"666"[0420]〉set_networkOkeyjn卵tNONE[0421]>enable_network0[0422]>quit[0423]再利用一用于連接WEP加密的AP的具體實(shí)例加W說明:[0424]〉add_network(假定網(wǎng)絡(luò)ID返回1)[04巧]〉set_networklssid"666"[0426]〉set_networkIkeyjngmtNONE[0427]〉set_networklwep_key0"yourappassword"[0428]>enable_network1[0429]至于連接WPA-PSK/WPA2-P漲加密的AP的示例如下:[0430]〉add_network(假定網(wǎng)絡(luò)ID返回2)[0431]〉set_network2ssid"666"[0432]>set_network2psk"yourpre-sharedkey"[0433]〉enab1e_network2[0434]到此,wifi模塊就能連接上AP了。[0435]W上是通過命令行工具wpa_cli來實(shí)現(xiàn)wifi網(wǎng)絡(luò)的連接。當(dāng)然,也可W通過wpa_supplicant的配置文件來實(shí)現(xiàn)連接。[0436]不妨再回顧前面運(yùn)行wpa_supplicant時(shí)執(zhí)行的命令:[0437]/system/bin/wpa_supplicant-d-Dwext-iwlan〇-c/data/misc/wifi/wpa_supplic過nt.conf[0438]我們在執(zhí)行時(shí)加上了-c/data/misc/wifi/wpa_swplicant.conf,故而可W將要連接的AP的設(shè)置1^一定的格式寫入wpa_supplicant.conf配置文件中即可。例如:[0439]ctrl_interface=DIR=/data/system/wpa_supplicantG民0UP=systemupdate-config=1[0440]network二{[0441]ssid="myaccesspoint"[0442]proto二WPA[0443]keyjngmt二WPA-P漲[0444]psk="youpasswords"[0445]}[0446]可見,即使是調(diào)用站點(diǎn)進(jìn)程啟動(dòng)智能終端WiFi芯片模組的站點(diǎn)模式,也可通過W上運(yùn)用指令、運(yùn)用配置文件兩種不同方式,來實(shí)現(xiàn)由應(yīng)用程序進(jìn)程自行控制所述的站點(diǎn)進(jìn)程的開啟,從而使智能終端工作于站點(diǎn)模式之下。[0447]由^上的分析可知,本發(fā)明可W借助多種方式激活智能終端的站點(diǎn)模式,并通過調(diào)用點(diǎn)對(duì)點(diǎn)連接管理類的createGroup方法來激活智能終端的熱點(diǎn)模式,這兩種模式可^并存于Android智能終端中。從而使得智能終端能夠利用其站點(diǎn)模式接入外網(wǎng),同時(shí)利用熱點(diǎn)模式建構(gòu)一個(gè)小型網(wǎng)絡(luò)。[0448]為使上述的雙模狀態(tài)更易于操作,體現(xiàn)更佳的用戶體驗(yàn),本發(fā)明的應(yīng)用程序進(jìn)程可^通過對(duì)用戶界面進(jìn)行設(shè)計(jì)來對(duì)此加W完善。[0449]用戶界面泛指能夠用于實(shí)現(xiàn)人機(jī)交互并且能夠接收用戶控制指令的顯示界面,例如,可W為Android系統(tǒng)的設(shè)置頁面中的一個(gè)選項(xiàng)(或按鍵,由所述應(yīng)用程序添加其中,下同),也可W是從桌面呼出的通知欄或者交互頁面中的一個(gè)選項(xiàng),還可W是所述應(yīng)用程序的一個(gè)活動(dòng)組件所構(gòu)造的頁面中的一個(gè)選項(xiàng)。[0450]本發(fā)明優(yōu)選如下兩種方式,用于接收所述的控制指令:[0451]其一,通過在用戶界面提供單個(gè)控制按鍵,W用于一鍵式地接收所述的控制指令,運(yùn)種方式便于用戶實(shí)現(xiàn)一鍵式操作。[0452]其二,通過在用戶界面對(duì)應(yīng)熱點(diǎn)模式和站點(diǎn)模式而分別提供控制按鍵,W分別對(duì)應(yīng)不同按鍵而產(chǎn)生對(duì)應(yīng)啟動(dòng)相應(yīng)的模式的控制指令。[0453]根據(jù)W上的方式提供的控制按鍵,通常運(yùn)些按鍵可W優(yōu)選設(shè)置在系統(tǒng)桌面通知欄列表處,或者W桌面懸浮窗的方式提供,既便于用戶觸控控制,又不影響用戶視覺效果,當(dāng)然也可作為系統(tǒng)的默認(rèn)功能而隨用戶開啟WiFi按鍵時(shí)激活。較佳的,所述應(yīng)用程序可W將自身設(shè)為自啟動(dòng)項(xiàng),使得系統(tǒng)啟動(dòng)時(shí),可W自行加載所述的按鍵,從而便于用戶操作。[0454]當(dāng)用戶通過所述的用戶界面,觸控所述的控制按鍵之后,便產(chǎn)生相應(yīng)的控制指令,該控制指令將被所述應(yīng)用程序的進(jìn)程接收,從而對(duì)應(yīng)控制熱點(diǎn)模式和/或站點(diǎn)模式開啟。[0455]具體而言,用戶既可W通過單個(gè)控制按鍵來希望同時(shí)開啟熱點(diǎn)模式和站點(diǎn)模式,也可W通過兩個(gè)與兩種模式相對(duì)應(yīng)的按鍵來開啟,實(shí)質(zhì)上提供了多種操作變化例。對(duì)應(yīng)運(yùn)些變化,W下進(jìn)一步示例說明。[0456]設(shè)用戶界面提供單個(gè)控制按鍵,用戶通過該單個(gè)控制按鍵而觸發(fā)其用戶指令,此處便可W先調(diào)用createGroupO創(chuàng)建熱點(diǎn)。繼而,本發(fā)明的應(yīng)用程序進(jìn)程再自行啟動(dòng)該站點(diǎn)進(jìn)程,由此便可實(shí)現(xiàn)兩種模式的并存。反之,也可W先行啟動(dòng)站點(diǎn)進(jìn)程,在其完成開啟之后,再行參照上述示例開啟熱點(diǎn)模式。也就是說,對(duì)應(yīng)于單個(gè)控制按鍵引起的控制指令,可不同的實(shí)施方式靈活安排所述熱點(diǎn)模式和站點(diǎn)模式的啟動(dòng)順序。[0457]而對(duì)應(yīng)用戶界面提供不同的控制按鍵,分別表征開啟不同的模式的實(shí)例而言,貝U可按用戶點(diǎn)擊不同控制按鍵的順序而按序開啟相應(yīng)的模式,此舉并不影響本發(fā)明的實(shí)施。[0458]在優(yōu)選的方案中,推薦優(yōu)先讓站點(diǎn)模式先于熱點(diǎn)模式開啟,在確保本智能終端可W連接外網(wǎng)的情況下,向其他智能終端提供接入功能,可W免除一些無用功,更為節(jié)能。[0459]由此可見,將站點(diǎn)模式與熱點(diǎn)模式相繼啟動(dòng)后,便可W實(shí)現(xiàn)兩種模式的共存。在此基礎(chǔ)上,本發(fā)明的應(yīng)用程序進(jìn)程可W向用戶界面輸出一些結(jié)果信息,W告知用戶該智能終端當(dāng)前已經(jīng)處于熱點(diǎn)模式和站點(diǎn)模式共存的雙模狀態(tài)。至于所述的結(jié)果信息的表達(dá)形式,既可W是通過系統(tǒng)消息顯示到通知欄中,也可W在桌面上彈窗顯示,更優(yōu)的方式可W是調(diào)用一個(gè)預(yù)設(shè)的第Ξ方圖標(biāo),用于表征該智能終端處于熱點(diǎn)模式和站點(diǎn)模式共存的雙模狀態(tài),將該第Ξ方圖標(biāo)顯示到用戶界面的系統(tǒng)狀態(tài)欄中,使得用戶更易于獲知相應(yīng)的結(jié)果信息。[0460]所述的配置單元12,被配置為W系統(tǒng)最高權(quán)限調(diào)用網(wǎng)絡(luò)守護(hù)進(jìn)程修改網(wǎng)絡(luò)共享配置信息使連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接。[0461]設(shè)及到對(duì)網(wǎng)絡(luò)守護(hù)進(jìn)程直接調(diào)用的操作,依照Amlroid的規(guī)范,需要獲取系統(tǒng)的最高權(quán)限,因而,在獲取Amlroid系統(tǒng)最高權(quán)限或者Amlroid系統(tǒng)已經(jīng)開放最高權(quán)限的前提下,可W通過對(duì)所述網(wǎng)絡(luò)守護(hù)進(jìn)程進(jìn)行調(diào)用,借此修改設(shè)及到網(wǎng)絡(luò)共享的配置信息,即網(wǎng)絡(luò)共享配置信息,w便連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接,讓客戶端可w通過服務(wù)端來訪問外網(wǎng)。[0462]所述的網(wǎng)絡(luò)守護(hù)進(jìn)程,即Netd,化twork化emon的縮寫。Netd負(fù)責(zé)跟一些設(shè)及物理端口的網(wǎng)絡(luò)操作相關(guān)的功能實(shí)現(xiàn),例如帶寬控制(Bandwi化h),網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT),個(gè)人局域網(wǎng)(pan),PPP鏈接,S0ft-ap,本智能終端的熱點(diǎn)模式所設(shè)及的共享上網(wǎng)(Tether)等等……都是按照模塊(.cpp+.h)組織在netd文件目錄下的。[0463]Amlroid化td相關(guān)的基本框架的四大部分:[0464](1化inuxKernel用于檢測網(wǎng)絡(luò)相關(guān)的所有事件。[0465](2)化td作為Kerne1(內(nèi)核層)與Framework(框架層)之間通信的橋梁。[0466](3)框架層操作化td,向化td發(fā)送操作命令。[0467](4)應(yīng)用層與框架層交互,用于用戶進(jìn)行網(wǎng)絡(luò)的操控。[0468]Amlroid為化td提供了一個(gè)測試工具,即ndc,其主要功能有:[0469]監(jiān)視化td中發(fā)生的事件。[0470]支持通過命令行發(fā)送命令給化td去執(zhí)行。ndc的實(shí)現(xiàn)原理,便是連接上位于netd進(jìn)程中的"netd"監(jiān)聽socket,然后從化td接收信息或發(fā)送命令給化td。[0471]由此可見,可W通過ndc來驅(qū)動(dòng)網(wǎng)絡(luò)守護(hù)進(jìn)程執(zhí)行相關(guān)指令,本發(fā)明中,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)共享配置信息的修改的功能,便可利用ndc命令來實(shí)施。[0472]請(qǐng)先參照如下對(duì)Android系統(tǒng)實(shí)施的觀測過程:[0473]首先,通過分析,發(fā)現(xiàn)createGroup()創(chuàng)建熱點(diǎn)之后,雖然產(chǎn)生可W被客戶端連接,但其用于向用戶反饋DHCP配置信息的配置進(jìn)程DNSmasq的參數(shù)如下:[0474]/system/bin/dnsnmsq-keep-in-fore邑round-no-resolv-no-poll-dhcp-authoritative-dhcp-〇ption-force=43,ANDR0ID_METERED-pid-file-dhcp-range=192.168.42.2,192.168.42.254,化一dhcp-range=192.168.43.2,192.168.43.254,化--dhcp-range=192.168.44.2,192.168.44.254,化一化cp-range=192.168.45.2,192.168.45.254,化一化cp-range=192.168.46.2,192.168.46.254,化一化cp-range=192.168.47.2,192.168.47.254,化一dhcp-range=192.168.48.2,192.168.48.254,化一化cp-range=192.168.49.2,192.168.49.254,化[0475]從中可W看出,其中增加了強(qiáng)制配置序列為43的控制選項(xiàng)即化cp-option-force=43,ANDR0ID_METERED,序號(hào)43的官方釋義是廠商指定選項(xiàng),用于表示當(dāng)前連接為計(jì)費(fèi)連接,在運(yùn)種情況下,客戶端將不能利用服務(wù)端的外網(wǎng)連接,W免產(chǎn)生巨額費(fèi)用。然而,運(yùn)種設(shè)計(jì)邏輯是W服務(wù)端將通過運(yùn)營商的計(jì)費(fèi)連接而提供訪問外網(wǎng)服務(wù)的,但服務(wù)端存在WWiFi站點(diǎn)模式建立的免費(fèi)外網(wǎng)連接的情況,并未被An化oid所兼容。[0476]繼而,通過分析An化oid官方文檔中對(duì)于了日地日祐〇11化〇11日1'(共享控制器)的源代碼可知,在運(yùn)種情況下,該處對(duì)ANDR0ID_METER抓進(jìn)行了規(guī)范,然而,卻未見默認(rèn)網(wǎng)關(guān)的設(shè)置。[0477]而對(duì)客戶端中進(jìn)行分析,從core.java,an化oid.net.DhcpInfoInternal也就是化cp客戶端那邊,利用下述的代碼實(shí)施檢測:[0480]W上的分析表明,如要令客戶端通過服務(wù)端來連接外網(wǎng),需要避開上述的控制選項(xiàng)的影響。[0481]進(jìn)而,通過分析本智能終端的熱點(diǎn)模式開啟前和開啟后的數(shù)據(jù)包轉(zhuǎn)發(fā)開關(guān)和數(shù)據(jù)包過濾表即ip化bles,也發(fā)現(xiàn)影響客戶端上網(wǎng)的因子。[0482]具體而言,對(duì)于數(shù)據(jù)包轉(zhuǎn)發(fā)開關(guān),可W發(fā)現(xiàn),cat/p;roc/sys/net/ipvVip_fo;rward的結(jié)果是1而不是0,因而理論上可W通過echo"l"〉/p;roc/sys/net/ipv4/ip_fo;rwardenable來改變此一開關(guān)設(shè)置,使其打開數(shù)據(jù)包轉(zhuǎn)發(fā)功能。然而,運(yùn)種情況下,由于受iptables的影響,即使做出上述的改變,客戶端進(jìn)行外網(wǎng)訪問仍然未能楊通。當(dāng)智能終端的熱點(diǎn)模式下的P2p0標(biāo)識(shí)所對(duì)應(yīng)的接口收到數(shù)據(jù)包,雖會(huì)查找路由,并且發(fā)到其站點(diǎn)模式下wlanO標(biāo)識(shí)所對(duì)應(yīng)的接口,但是會(huì)被ip化b1es的過濾規(guī)則所丟棄。[0483]對(duì)于iptables,發(fā)現(xiàn)其存在兩方面的影響,其一是其中包含有將接口p2p0的數(shù)據(jù)包丟棄的規(guī)則,其二是欠缺將智能終端映射到公網(wǎng)的NAT規(guī)則。對(duì)于前者,可W通過W下指令處理:iptables-DFORWA畑4,即刪除forward里的第4條規(guī)則,也即natc化1_F0RWA畑規(guī)貝ij。運(yùn)時(shí)候當(dāng)p2p0收到包,會(huì)從wlanO發(fā)出。但是運(yùn)個(gè)包的源ip是一個(gè)內(nèi)網(wǎng)ip。因此,需要對(duì)后者做處理如下:iptables-tnat-APOSTROUTING-0wlanO-jMASQ肥RADE,即向ip化bles過濾表增加一條nat規(guī)則,添加之后,在另一個(gè)手機(jī)上,便可Wping通外網(wǎng)ip了。由客戶端到外網(wǎng)的連接,由此便楊通了。自然的,W及結(jié)合實(shí)踐分析,網(wǎng)關(guān)也已經(jīng)得到正確配置。[0484]通過上述的處理,僅僅解決了IP層的問題,對(duì)于DNS解析的功能,則仍未實(shí)現(xiàn)。進(jìn)一步通過分析DNSmasq的配置參數(shù),發(fā)現(xiàn)其攜帶了一no-resolv選項(xiàng),該選項(xiàng)正是導(dǎo)致影響客戶端獲取正確的DNS解析的原因。由此,可W通過修改startTethering方法或者增加一個(gè)s^dTetheringWithDnsO方法,去掉一n〇-resolv參數(shù)。完成運(yùn)些操作,客戶端經(jīng)服務(wù)端到外網(wǎng),具體到基于域名的萬維網(wǎng)的訪問,便楊通無阻了。[0485]W上,概括而言,本發(fā)明為實(shí)現(xiàn)客戶端通過服務(wù)端訪問外網(wǎng)而借助ndc工具驅(qū)動(dòng)網(wǎng)絡(luò)守護(hù)進(jìn)程所做出的設(shè)及到網(wǎng)絡(luò)共享配置信息的修改,主要設(shè)及到W下方面:[0486]其一、開通連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包轉(zhuǎn)發(fā)功能:具體表現(xiàn)為可通過echo指令設(shè)置其參數(shù)為1來打開。[0487]其二、修正用于楊通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包過濾表的設(shè)置內(nèi)容:具體表現(xiàn)為對(duì)ip化bles表格去除相應(yīng)的過濾條目W及添加NAT映射記錄。[0488]其Ξ、去除客戶端共享上網(wǎng)限制解析DNS的選項(xiàng):具體表現(xiàn)為可通過共享控制器(TetherContro11er)的有關(guān)方法來去除一n〇-reso1v選項(xiàng)。[0489]由此可見,通過上述的方法,便可使本發(fā)明的智能終端實(shí)現(xiàn)連通其熱點(diǎn)模式與其站點(diǎn)模式下之間的網(wǎng)絡(luò)連接,為客戶端提供接入外網(wǎng)的服務(wù)。[0490]W上通過掲示對(duì)Amlroid的系統(tǒng)原理的分析過程,掲示了本發(fā)明的實(shí)現(xiàn)原理,并提供了如何修改網(wǎng)絡(luò)共享配置信息的一種實(shí)施例,除此之外,還可通過W下的方式來修改網(wǎng)絡(luò)共享配置信息:[0491]運(yùn)種方式具體而言,即W系統(tǒng)最高權(quán)限調(diào)用ndc工具通過網(wǎng)絡(luò)守護(hù)進(jìn)程來實(shí)現(xiàn)修改的方式,請(qǐng)參閱如下代碼及其說明:[0492]ndcipfwdenable[0493]ndctetherdnsset0114.114.114.114[0494]//如果失敗,通常意味著前面有手工操作沒有完全撤銷。執(zhí)行ps|gr邱dnsmasq先強(qiáng)制關(guān)閉配置進(jìn)程。如果還有殘留進(jìn)程,例如:[04巧]shell@CP8681_A01:/郵SIgrepdnsmasq[0496]dhcp355732510272740001a0338b66f61acS/system/bin/dnsmasq[0497]//執(zhí)行kill3557殺掉,然后[0498]ndctetherstop,//停止共享[0499]ndctether8化的192.168.49.2192.168.49.254//啟動(dòng)共享,配置網(wǎng)段[0如0]ndctetherdnsset0114.114.114.114/7設(shè)置DNS[0如1]ndcnatenablep化OwlanO0//添加NAT規(guī)則[0502]經(jīng)測試,W上代碼所起的效果與上方掲示的手動(dòng)修改過程一致,經(jīng)由此段代碼作用,數(shù)據(jù)包轉(zhuǎn)發(fā)功能被打開,iptables過濾表得到正確的配置,DNS解析功能也得到正確的維護(hù)。因此,本發(fā)明的應(yīng)用程序可W在系統(tǒng)最高權(quán)限狀態(tài)下,在啟動(dòng)熱點(diǎn)模式之后,執(zhí)行運(yùn)段代碼,便實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)共享配置信息的正確修改,客戶端便可通過服務(wù)端來上網(wǎng)。[0503]多數(shù)的Amlroid系統(tǒng)智能終端,由于廠商的限制,并未開放其系統(tǒng)最高權(quán)限,或者未成功被ROOT,對(duì)于運(yùn)種情況,W上WND巧旨令直接驅(qū)動(dòng)網(wǎng)絡(luò)守護(hù)進(jìn)行實(shí)施網(wǎng)絡(luò)共享配置信息的修改的操作將不能成功。因此,需要另辟曖徑。[0504]-種改進(jìn)的方式是將W上WNDC表達(dá)的代碼封裝成一個(gè)方法函數(shù)(配置接口),對(duì)WiFiPSpManager類的開源代碼文件即WifiPSpServiceImpI.java進(jìn)行修改,由于WifiP化Servicelmpl.java可W直接通過mNwService導(dǎo)出的函數(shù)實(shí)現(xiàn)那些ndc命令,因在,可在里面增加該方法函數(shù),并且導(dǎo)出給WiFiP化Manager類使用,運(yùn)樣,本發(fā)明的應(yīng)用程序只需直接通過WiFiP2pManager類調(diào)用該配置接口,即可實(shí)施對(duì)網(wǎng)絡(luò)共享配置信息的修改,而無需借助系統(tǒng)最高權(quán)限的獲取。[0505]由此可見,借助ndc命令控制所述網(wǎng)絡(luò)守護(hù)進(jìn)程W修改網(wǎng)絡(luò)共享配置參數(shù)的方式也是多樣化的。[0506]通過實(shí)施上述的多種控制方式,均可使服務(wù)端的熱點(diǎn)模式和站點(diǎn)模式之間的網(wǎng)絡(luò)連接互相連通,路由的問題隨之有解。[0507]所述的通信單元13,用于在客戶端接入所述網(wǎng)絡(luò)群組后,建立該客戶端與由所述站點(diǎn)模式所維持的外網(wǎng)的連接。[0508]客戶端接入服務(wù)端提供的網(wǎng)絡(luò)群組之后,將向服務(wù)端發(fā)送DHCP請(qǐng)求,服務(wù)端的配置進(jìn)程讀取經(jīng)上述修改之后的正確的網(wǎng)絡(luò)共享配置信息,反饋給客戶端??蛻舳藫?jù)此完成自身的網(wǎng)絡(luò)設(shè)置后,便可經(jīng)作為服務(wù)端本發(fā)明智能終端的熱點(diǎn)接口、站點(diǎn)接口而訪問外網(wǎng)。對(duì)于本智能終端而言,當(dāng)其接收客戶端訪問外網(wǎng)的數(shù)據(jù)包時(shí),將該數(shù)據(jù)包轉(zhuǎn)發(fā)經(jīng)所述站點(diǎn)模式的路徑傳輸給所述的外網(wǎng);當(dāng)其接收外網(wǎng)訪問客戶端的數(shù)據(jù)包時(shí),將其轉(zhuǎn)發(fā)經(jīng)所述熱點(diǎn)模式的路徑傳輸給該客戶端。[0509]進(jìn)一步的,為完善本發(fā)明的應(yīng)用程序進(jìn)程的功能,可W增加恢復(fù)單元,該恢復(fù)單元被配置為響應(yīng)于退出共享上網(wǎng)的用戶指令,恢復(fù)所述的網(wǎng)絡(luò)共享配置信息。[0510]具體而言,本發(fā)明的應(yīng)用程序可W參照前述的方式,向用戶界面提供一個(gè)共享上網(wǎng)的控制按鍵,如沿用上述已經(jīng)提供到用戶界面的控制按鍵的一個(gè)復(fù)選控制操作也可。當(dāng)該控制按鍵被觸發(fā)時(shí),便產(chǎn)生所述的用戶指令,受該用戶指令的作用,本發(fā)明便可實(shí)施斷開所述的熱點(diǎn)模式,由此便自動(dòng)斷開外部連接。[0511]進(jìn)一步,可W采用更為徹底的方式,先行對(duì)前述處理過程產(chǎn)生的網(wǎng)絡(luò)共享配置信息進(jìn)行清理,例如,參閱W下的ndc指令:[0512]ndcipfwddisable//關(guān)閉數(shù)據(jù)包轉(zhuǎn)發(fā)功能[化13]ndctetherstop//停止上網(wǎng)共享功能[0514]ndcnatdisableP化OwlanO0//關(guān)閉NAT映射功能[0515]通過本發(fā)明的應(yīng)用程序進(jìn)程執(zhí)行上述的命令,便可通過SOCKET端口控制網(wǎng)絡(luò)守護(hù)進(jìn)程執(zhí)行相應(yīng)的功能,從而避免前述的對(duì)網(wǎng)絡(luò)共享配置信息對(duì)本機(jī)使用所帶來的潛在的影響??蒞知曉,在本發(fā)明的應(yīng)用程序進(jìn)程中直接調(diào)用上述的命令控制所述的網(wǎng)絡(luò)守護(hù)進(jìn)程的前提是已經(jīng)獲取系統(tǒng)的最高權(quán)限。[0516]同理,根據(jù)上述構(gòu)造方法函數(shù)并將其植入到WiFiP2pManager中的示例可知,此處的清理代碼完全可W同樣的方法被構(gòu)造為方法函數(shù)(清退接口),添加到WiFiP2pManager類的代碼文件中,導(dǎo)出為該類的相應(yīng)的成員函數(shù),后續(xù)直接由本發(fā)明的應(yīng)用程序進(jìn)程調(diào)用該清退接口即可執(zhí)行,而不必考慮當(dāng)前是否已經(jīng)獲得系統(tǒng)ROOT權(quán)限。[0517]綜上所述,本發(fā)明的方法解決了Amlroid智能終端同時(shí)開啟熱點(diǎn)模式和站點(diǎn)模式的技術(shù)難題,并且允許接入其熱點(diǎn)模式下的網(wǎng)絡(luò)群組的客戶端經(jīng)由其站點(diǎn)模式相對(duì)應(yīng)的外網(wǎng)接口訪問外網(wǎng)。[0518]概而言之,通過本發(fā)明的處理,Amlroid系統(tǒng)的智能終端便具備了雙模功能,也即同時(shí)既可充當(dāng)熱點(diǎn)供其他設(shè)備接入,也可充當(dāng)站點(diǎn)接入外部網(wǎng)絡(luò)接入點(diǎn),并且可W起到路由器的作用,允許接入該智能終端的客戶端設(shè)備通過該智能終端訪問外網(wǎng)。[0519]本
技術(shù)領(lǐng)域:
技術(shù)人員可W理解,本發(fā)明包括設(shè)及用于執(zhí)行本申請(qǐng)中所述操作中的一項(xiàng)或多項(xiàng)的設(shè)備。運(yùn)些設(shè)備可W為所需的目的而專口設(shè)計(jì)和制造,或者也可W包括通用計(jì)算機(jī)中的已知設(shè)備。運(yùn)些設(shè)備具有存儲(chǔ)在其內(nèi)的計(jì)算機(jī)程序,運(yùn)些計(jì)算機(jī)程序選擇性地激活或重構(gòu)。運(yùn)樣的計(jì)算機(jī)程序可W被存儲(chǔ)在設(shè)備(例如,計(jì)算機(jī))可讀介質(zhì)中或者存儲(chǔ)在適于存儲(chǔ)電子指令并分別禪聯(lián)到總線的任何類型的介質(zhì)中,所述計(jì)算機(jī)可讀介質(zhì)包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、CD-ROM、和磁光盤)、R0M(Read-化lyMemory,只讀存儲(chǔ)器)、RAM(RandomAccessMemory,隨即存儲(chǔ)器)、EPR0M化rasableProgrammableRead-OnlyMemory,可擦寫可編程只讀存儲(chǔ)器)、EEPR0M化lectricallyErasableProgrammableReadH3nlyMemory,電可擦可編程只讀存儲(chǔ)器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由設(shè)備(例如,計(jì)算機(jī))w能夠讀的形式存儲(chǔ)或傳輸信息的任何介質(zhì)。[0520]本
技術(shù)領(lǐng)域:
技術(shù)人員可W理解,可W用計(jì)算機(jī)程序指令來實(shí)現(xiàn)運(yùn)些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個(gè)框W及運(yùn)些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本
技術(shù)領(lǐng)域:
技術(shù)人員可W理解,可W將運(yùn)些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專業(yè)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來實(shí)現(xiàn),從而通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來執(zhí)行本發(fā)明公開的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個(gè)框中指定的方案。[0521]本
技術(shù)領(lǐng)域:
技術(shù)人員可W理解,本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的步驟、措施、方案可W被交替、更改、組合或刪除。進(jìn)一步地,具有本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的其他步驟、措施、方案也可W被交替、更改、重排、分解、組合或刪除。進(jìn)一步地,現(xiàn)有技術(shù)中的具有與本發(fā)明中公開的各種操作、方法、流程中的步驟、措施、方案也可W被交替、更改、重排、分解、組合或刪除。[0522]W上所述僅是本發(fā)明的部分實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可W做出若干改進(jìn)和潤飾,運(yùn)些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍?!局鳈?quán)項(xiàng)】1.一種智能終端網(wǎng)絡(luò)配置方法,其特征在于,包括如下步驟:建立符合WiFiP2P規(guī)范的網(wǎng)絡(luò)群組以完成本智能終端的熱點(diǎn)模式的啟動(dòng),使其與本智能終端的站點(diǎn)模式并存工作;以系統(tǒng)最高權(quán)限調(diào)用網(wǎng)絡(luò)守護(hù)進(jìn)程修改網(wǎng)絡(luò)共享配置信息使連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接;在客戶端接入所述網(wǎng)絡(luò)群組后,建立該客戶端與由所述站點(diǎn)模式所維持的外網(wǎng)的連接。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,受控而啟動(dòng)所述網(wǎng)絡(luò)群組的建立。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,通過在用戶界面提供控制按鍵,以用于接收控制指令,以啟動(dòng)所述網(wǎng)絡(luò)群組的建立。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述站點(diǎn)模式通過啟動(dòng)系統(tǒng)提供的站點(diǎn)進(jìn)程即wpa_supp1icant進(jìn)程而實(shí)現(xiàn)。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述站點(diǎn)模式先于熱點(diǎn)模式工作。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,啟動(dòng)所述熱點(diǎn)模式使其與站點(diǎn)模式并存時(shí),顯示用于表征該智能終端處于熱點(diǎn)模式和站點(diǎn)模式共存的雙模狀態(tài)的第三方圖標(biāo)。7.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過調(diào)用Android系統(tǒng)依照WiFiP2P協(xié)議的規(guī)范而提供的WifiP2pManager類的createGroup方法實(shí)現(xiàn)所述網(wǎng)絡(luò)群組的建立。8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡(luò)守護(hù)進(jìn)程為Android系統(tǒng)的Netd守護(hù)進(jìn)程,通過該網(wǎng)絡(luò)守護(hù)進(jìn)程提供的ndc工具控制該網(wǎng)絡(luò)守護(hù)進(jìn)程完成所述的網(wǎng)絡(luò)共享配置信息。9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡(luò)共享配置信息被修改為具備如下用途:開通連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包轉(zhuǎn)發(fā)功能;修正用于暢通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接的數(shù)據(jù)包過濾表的設(shè)置內(nèi)容;去除客戶端共享上網(wǎng)限制解析DNS的選項(xiàng)。10.-種智能終端,其特征在于,包括:建立單元,用于建立符合WiFiP2P規(guī)范的網(wǎng)絡(luò)群組以完成本智能終端的熱點(diǎn)模式的啟動(dòng),使其與本智能終端的站點(diǎn)模式并存工作;配置單元,用于以系統(tǒng)最高權(quán)限調(diào)用網(wǎng)絡(luò)守護(hù)進(jìn)程修改網(wǎng)絡(luò)共享配置信息使連通熱點(diǎn)模式與站點(diǎn)模式之間的網(wǎng)絡(luò)連接;通信單元,用于在客戶端接入所述網(wǎng)絡(luò)群組后,建立該客戶端與由所述站點(diǎn)模式所維持的外網(wǎng)的連接?!疚臋n編號(hào)】H04W88/06GK106060970SQ201610141032【公開日】2016年10月26日【申請(qǐng)日】2016年3月11日公開號(hào)201610141032.2,CN106060970A,CN106060970A,CN201610141032,CN-A-106060970,CN106060970A,CN106060970A,CN201610141032,CN201610141032.2【發(fā)明人】韋巧,胡宇光,朱翼鵬【申請(qǐng)人】北京奇虎科技有限公司