專利名稱:局域網(wǎng)絡(luò)中手持移動(dòng)設(shè)備控制電腦的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,更進(jìn)一步涉及在局域網(wǎng)絡(luò)中,手持移動(dòng)設(shè)備應(yīng)用軟件開(kāi)發(fā)領(lǐng)域,基于套接字技術(shù)和Windows系統(tǒng)命令提示符窗口技術(shù)的手持移動(dòng)設(shè)備控制電腦的方法。本發(fā)明可用于局域網(wǎng)絡(luò)中使用手持移動(dòng)設(shè)備實(shí)現(xiàn)對(duì)電腦控制的多媒體教學(xué)、家庭智能設(shè)備控制、遠(yuǎn)程辦公、家長(zhǎng)監(jiān)控領(lǐng)域。
背景技術(shù):
手持移動(dòng)設(shè)備控制電腦是指用戶手持使用移動(dòng)設(shè)備與電腦交互,通過(guò)移動(dòng)設(shè)備的便攜性和交互多樣性,擴(kuò)充電腦的輸入設(shè)備和輸出設(shè)備并與電腦共享文件資源,從而方便用戶對(duì)電腦的控制。目前,手持移動(dòng)設(shè)備控制電腦方法中常見(jiàn)的兩種是基于實(shí)時(shí)視頻傳輸?shù)碾娔X控制和基于虛擬鼠標(biāo)鍵盤的電腦控制。國(guó)外現(xiàn)有軟件“PhoneMyPC”是基于實(shí)時(shí)視頻傳輸電腦控制的一個(gè)典型實(shí)例。該軟件利用視頻流技術(shù)向移動(dòng)設(shè)備端應(yīng)用程序?qū)崟r(shí)發(fā)送當(dāng)前電腦截屏圖像信息,界面直觀友好,用戶使用方便,是目前最為流行的移動(dòng)設(shè)備控制電腦類軟件。該軟件使用方法所存在的不足是,一方面電腦端和移動(dòng)設(shè)備端必須接入Internet才能互聯(lián),并在軟件使用過(guò)程中實(shí)時(shí)發(fā)送電腦桌面視頻,既要求較高的網(wǎng)絡(luò)帶寬又耗費(fèi)大量的網(wǎng)絡(luò)流量。家用移動(dòng)設(shè)備,一般帶寬低,流量貴。這使得用戶體驗(yàn)不流暢,因此使用有局限性。另一方面,由于電腦端接入Internet后,只要移動(dòng)設(shè)備端賬號(hào)密碼正確就能完全控制該電腦。使電腦端容易被黑客入侵,造成電腦端安全性較差。松迅達(dá)中科電子(深圳)有限公司提出的專利申請(qǐng)“一種通過(guò)手機(jī)控制電腦的方法”(專利申請(qǐng)?zhí)?00710028902. 6,公開(kāi)號(hào)CN101082889A)中,對(duì)基于虛擬鼠標(biāo)鍵盤的電腦控制方法進(jìn)行了詳細(xì)的介紹。該方法利用將控制信息發(fā)送至電腦端,并將所述控制信息轉(zhuǎn)換為相應(yīng)控制鍵值,在電腦端執(zhí)行控制鍵值的方法,使得手機(jī)可在任何具有藍(lán)牙功能或紅外紅能的電腦上達(dá)到控制電腦的效果。該方法具有操作簡(jiǎn)單、使用方便、傳輸可靠等優(yōu)點(diǎn)。但是,該方法存在的不足之處在于,一方面手機(jī)端沒(méi)有輸出信息,導(dǎo)致用戶無(wú)法遠(yuǎn)程控制電腦。另一方面功能較為單一,使該方法使用范圍較小,難以推廣。
發(fā)明內(nèi)容
本發(fā)明的目的是克服上述技術(shù)存在的缺點(diǎn),提供一種利用TCP傳輸協(xié)議,分別實(shí)現(xiàn)客戶端應(yīng)用程序和電腦端服務(wù)程序,直接基于命令行和Windows消息處理機(jī)制控制電腦,并在命令提示符窗口讀取電腦數(shù)據(jù),有效降低信息傳輸量,提供流暢的用戶體驗(yàn)和完整的控制功能。實(shí)現(xiàn)本發(fā)明的技術(shù)思路是首先將手持移動(dòng)設(shè)備和電腦通過(guò)Wifi連接于同一局域網(wǎng)絡(luò)中,再通過(guò)手持移動(dòng)設(shè)備在局域網(wǎng)絡(luò)中搜索可用電腦,然后通過(guò)手持移動(dòng)設(shè)備向電腦發(fā)送控制命令,最后電腦解析控制命令并執(zhí)7TT相應(yīng)的CMD命令。
本發(fā)明包括如下步驟(I)連接局域網(wǎng)絡(luò)Ia)開(kāi)啟無(wú)線路由器,啟動(dòng)無(wú)線路由器動(dòng)態(tài)主機(jī)設(shè)置協(xié)議的服務(wù)功能;Ib)將電腦連接至無(wú)線路由器;Ic)開(kāi)啟手持移動(dòng)設(shè)備的Wifi功能并通過(guò)手持移動(dòng)設(shè)備的Wifi連接至無(wú)線路由器的無(wú)線局域網(wǎng)接入點(diǎn);(2)開(kāi)啟電腦端服務(wù)2a)調(diào)用系統(tǒng)函數(shù),開(kāi)啟電腦端Socket服務(wù)器的監(jiān)聽(tīng)端口 ;2b)調(diào)用系統(tǒng)函數(shù),在電腦端建立命令提示符窗口進(jìn)程;
(3)獲取局域網(wǎng)絡(luò)號(hào)3a)調(diào)用系統(tǒng)函數(shù),獲得手持移動(dòng)設(shè)備網(wǎng)卡信息中的IP地址;3b)判斷IP地址的地址類型若IP地址為A類地址,則子網(wǎng)掩碼為OxFFOOOOOO ;若IP地址為B類地址,則子網(wǎng)掩碼為0xFFFF0000 ;若IP地址為C類地址,則子網(wǎng)掩碼為OxFFFFFFOO ;3c)將子網(wǎng)掩碼和IP地址進(jìn)行與運(yùn)算得出網(wǎng)絡(luò)號(hào);(4)構(gòu)建可用電腦信息集合4a)將手持移動(dòng)設(shè)備端可用電腦信息集合設(shè)為空集,完成初始化;4b)將32位二進(jìn)制變量i設(shè)置為步驟3b)所述的子網(wǎng)掩碼;4c)將i設(shè)置為i+1,并將i與步驟3b)所述子網(wǎng)掩碼的非進(jìn)行與運(yùn)算,再將運(yùn)算結(jié)果與步驟3c)算出的網(wǎng)絡(luò)號(hào)進(jìn)行或運(yùn)算得到局域網(wǎng)絡(luò)中一個(gè)未訪問(wèn)IP地址;4d)將手持移動(dòng)設(shè)備的Socket端口連接至該IP地址對(duì)應(yīng)電腦端Socket服務(wù)器監(jiān)聽(tīng)端口 ;4e)判斷Socket連接是否成功若是,則在手持移動(dòng)設(shè)備與電腦端間建立Socket連接,將該Socket連接的信息作為可用電腦信息存入可用電腦信息集合;否則,執(zhí)行步驟4f);4f)判斷i是否小于OxFFFFFFFF :若是,則執(zhí)行步驟4c);否則,可用電腦信息集合構(gòu)建完成,執(zhí)彳了步驟4g);4g)將可用電腦集合信息在移動(dòng)設(shè)備端控制界面顯示;(5)輸入控制密碼5a)用戶在手持移動(dòng)設(shè)備端控制界面上選擇需控制的可用電腦,將選中的可用電腦對(duì)應(yīng)的Socket連接保留,釋放其余Socket連接;5b)用戶在手持移動(dòng)設(shè)備端控制界面上輸入與選中的可用電腦對(duì)應(yīng)的控制密碼;5c)將控制密碼通過(guò)步驟4f)建立的Socket連接發(fā)送至電腦;5e)判斷發(fā)送至電腦的控制密碼與電腦端數(shù)據(jù)庫(kù)中原密碼是否相同若是,則密碼正確,執(zhí)行步驟6a);否則,密碼錯(cuò)誤,執(zhí)行步驟5f);5f)將密碼錯(cuò)誤提示信息通過(guò)步驟4f)建立的Socket連接發(fā)送至手持移動(dòng)設(shè)備;5g)將密碼錯(cuò)誤提示顯示到手持移動(dòng)設(shè)備端控制界面,執(zhí)行步驟4a);(6)發(fā)送CMD命令6a)用戶在手持移動(dòng)設(shè)備%5控制界面上輸入命令提不符窗口 CMD命令;
6b)將用戶輸入的命令提示符窗口 CMD命令通過(guò)步驟4f)建立的Socket連接發(fā)送至電腦;(7)執(zhí)行CMD命令7a)將命令提示符窗口 CMD命令寫入步驟2b)建立的命令提示符窗口進(jìn)程的輸入流;7b)在步驟2b)建立的命令提示符窗口進(jìn)程中執(zhí)行傳入的命令提示符窗口 CMD命令;(8)發(fā)送命令執(zhí)行結(jié)果8a)讀步驟2b)建立的命令提示符窗口進(jìn)程的輸出流,判斷命令提示符窗口 CMD命令中是否存在返回結(jié)果若存在,則將返回結(jié)果通過(guò)步驟4f)建立的Socket連接發(fā)送至手持移動(dòng)設(shè)備;否則,將字符串“NULL”通過(guò)該Socket連接發(fā)送至手持移動(dòng)設(shè)備;Sb)判斷發(fā)送至手持移動(dòng)設(shè)備的返回結(jié)果是否為字符串“NULL”:若是,則執(zhí)行步驟9a);否則,將返回信息顯示到移動(dòng)設(shè)備端控制界面;(9)釋放資源9a)判斷用戶是否繼續(xù)控制電腦若是,執(zhí)行步驟9b);否則執(zhí)行步驟6a);9b)調(diào)用系統(tǒng)函數(shù),釋放步驟4f)建立的Socket連接;9c)調(diào)用系統(tǒng)函數(shù),關(guān)閉步驟2b)在電腦端建立的命令提示符窗口進(jìn)程;9d)調(diào)用系統(tǒng)函數(shù),關(guān)閉電腦端Socket服務(wù)器的監(jiān)聽(tīng)端口。本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)第一,本發(fā)明采用了 CMD命令作為網(wǎng)絡(luò)傳輸對(duì)象,克服了現(xiàn)有技術(shù)由于采用視頻傳輸技術(shù)導(dǎo)致的網(wǎng)絡(luò)帶寬要求較高,網(wǎng)絡(luò)流量耗費(fèi)多的問(wèn)題,使本發(fā)明能夠應(yīng)用于實(shí)時(shí)性要求較高的環(huán)境中。第二,本發(fā)明通過(guò)調(diào)用CMD命令直接控制電腦,克服了現(xiàn)有技術(shù)由于采用虛擬鼠標(biāo)鍵盤技術(shù)控制電腦導(dǎo)致的功能單一,沒(méi)有返回結(jié)果,有效控制距離不足的問(wèn)題,使本發(fā)明的應(yīng)用范圍較廣。
圖I為本發(fā)明的流程圖;圖2為本發(fā)明CMD命令視圖返回信息仿真效果圖;圖3為本發(fā)明顯示進(jìn)程信息仿真效果圖。
具體實(shí)施例方式下面結(jié)合附圖I對(duì)本發(fā)明方法的實(shí)現(xiàn)具體步驟做詳細(xì)的描述步驟I.連接局域網(wǎng)絡(luò) 開(kāi)啟無(wú)線路由器并啟動(dòng)無(wú)線路由器動(dòng)態(tài)主機(jī)設(shè)置協(xié)議的服務(wù)功能,此時(shí)連接至無(wú)線路由器的設(shè)備會(huì)被分配IP地址。如果電腦具有有線網(wǎng)絡(luò)適配器則可使用雙絞線,將電腦連接至無(wú)線路由器的局域網(wǎng)端口。如果電腦具有無(wú)線網(wǎng)絡(luò)適配器則可使用無(wú)線網(wǎng)絡(luò)適配器,將電腦連接至無(wú)線路由器的無(wú)線局域網(wǎng)接入點(diǎn)。開(kāi)啟手持移動(dòng)設(shè)備的Wifi功能并通過(guò)手持移動(dòng)設(shè)備的Wifi連接至無(wú)線路由器的無(wú)線局域網(wǎng)接入點(diǎn)。此時(shí),局域網(wǎng)絡(luò)連接完畢。由此步驟可以看出,本發(fā)明建立局域網(wǎng)絡(luò)連接的過(guò)程在大多數(shù)移動(dòng)設(shè)備和電腦中都只需設(shè)置一次,之后在打開(kāi)Wifi的情況下電腦和手持移動(dòng)設(shè)備會(huì)自動(dòng)連接至路由器。使用局域網(wǎng)絡(luò)連接控制電腦既提高連接方式的多樣性,使本方法使用范圍較廣,又可以通過(guò)無(wú)線路由器、交換機(jī)和集線器的擴(kuò)展連接,增大連接距離,提高控制的范圍。步驟2.開(kāi)啟電腦端服務(wù)調(diào)用系統(tǒng)函數(shù),開(kāi)啟電腦端Socket服務(wù)器的監(jiān)聽(tīng)端口。該監(jiān)聽(tīng)端口用于與手持移動(dòng)設(shè)備進(jìn)行通信。在電腦端建立CMD進(jìn)程。此進(jìn)程用來(lái)執(zhí)行手持移動(dòng)設(shè)備傳來(lái)的命令。步驟3.獲取局域網(wǎng)絡(luò)號(hào)
通過(guò)調(diào)用系統(tǒng)函數(shù),獲得手持移動(dòng)設(shè)備網(wǎng)卡信息中的IP地址。判斷IP地址的地址類型若IP地址為A類地址,則子網(wǎng)掩碼為OxFFOOOOOO ;若IP地址為B類地址,則子網(wǎng)掩碼為0xFFFF0000 ;若IP地址為C類地址,則子網(wǎng)掩碼為OxFFFFFFOO。將子網(wǎng)掩碼和IP地址進(jìn)行與運(yùn)算得出網(wǎng)絡(luò)號(hào)。此步驟的目的是確定局域網(wǎng)絡(luò)號(hào),為后續(xù)步驟遍歷局域網(wǎng)絡(luò)IP地址提供條件。步驟4.構(gòu)建可用電腦信息集合將可用電腦信息集合設(shè)為空集,完成初始化??捎秒娔X信息集合是一個(gè)存儲(chǔ)于手持移動(dòng)設(shè)備內(nèi)存中的用于保存局域網(wǎng)絡(luò)中開(kāi)啟電腦端服務(wù)的電腦信息集合。設(shè)i是一個(gè)32位二進(jìn)制數(shù),將i設(shè)置為步驟3所述的子網(wǎng)掩碼。i是用來(lái)表示局域網(wǎng)IP地址的循環(huán)變量。通過(guò)循環(huán)的訪問(wèn)IP地址i就可以遍歷局域網(wǎng)絡(luò)中所有的IP地址。將i設(shè)置為i+1,將i與步驟3所述的子網(wǎng)掩碼的非進(jìn)行與運(yùn)算,再將運(yùn)算結(jié)果與步驟3算出的網(wǎng)絡(luò)號(hào)進(jìn)行或運(yùn)算得到局域網(wǎng)絡(luò)中一個(gè)IP地址。將手持移動(dòng)設(shè)備的Socket端口連接至該IP地址對(duì)應(yīng)電腦端Socket服務(wù)器監(jiān)聽(tīng)端口,并判斷Socket連接是否成功若是,則在手持移動(dòng)設(shè)備與電腦端間建立Socket連接,將該Socket連接的信息作為可用電腦信息存入可用電腦信息集合。判斷局域網(wǎng)絡(luò)中i是否小于OxFFFFFFFF :若是,則將i重復(fù)的自增1,然后按照上述步驟將i與步驟3所述的子網(wǎng)掩碼的非進(jìn)行與運(yùn)算,再將運(yùn)算結(jié)果與步驟3算出的網(wǎng)絡(luò)號(hào)進(jìn)行或運(yùn)算得到局域網(wǎng)絡(luò)中一個(gè)IP地址,直到i等于OxFFFFFFFF。將可用電腦集合信息在移動(dòng)設(shè)備端控制界面顯示。電腦集合信息包括Socket信息中攜帶的IP地址和端口號(hào)等信息。由此步驟可以看出,本發(fā)明避免用戶手動(dòng)輸入電腦端IP地址的過(guò)程,如果在電腦端將步驟2設(shè)置為開(kāi)機(jī)自動(dòng)運(yùn)行,那么只需要將電腦開(kāi)機(jī)就可以使用手持移動(dòng)設(shè)備對(duì)其進(jìn)行控制。步驟5.輸入控制密碼用戶在手持移動(dòng)設(shè)備端控制界面上選擇需控制的可用電腦,將選中的可用電腦對(duì)應(yīng)的Socket連接保留,釋放其余Socket連接。用戶在手持移動(dòng)設(shè)備端控制界面上輸入與選中的可用電腦對(duì)應(yīng)的控制密碼。控制密碼是指8至20位的無(wú)特殊字符的字符串。將控制密碼通過(guò)步驟4建立的Socket連接發(fā)送至電腦。可以將控制密碼進(jìn)行加密傳輸以保證本發(fā)明的安全性。判斷發(fā)送至電腦的控制密碼與電腦端數(shù)據(jù)庫(kù)中原密碼是否相同若是,則密碼正確可以對(duì)電腦進(jìn)行控制,執(zhí)行步驟6。否則,將密碼錯(cuò)誤提示信息通過(guò)步驟4建立的Socket連接發(fā)送至手持移動(dòng)設(shè)備,并將密碼錯(cuò)誤提示顯示到手持移動(dòng)設(shè)備端控制界面,執(zhí)行步驟4。原密碼是指用戶在控制電腦之前事先在電腦端設(shè)置的8至20位無(wú)特殊字符的字符串。由此步驟可以看出,當(dāng)用戶不知道控制密碼時(shí)就無(wú)法控制電腦,此步驟提高了本發(fā)明的安全性,使電腦免遭非法用戶的控制。
步驟6.發(fā)送CMD命令用戶在手持移動(dòng)設(shè)備%5控制界面上輸入CMD命令。此CMD命令也可由用戶在手持移動(dòng)設(shè)備端圖形界面的輸入轉(zhuǎn)化而來(lái),這樣就無(wú)需用戶記憶種類繁多CMD命令,降低用戶使用的難度。將用戶輸入的CMD命令通過(guò)步驟4建立的Socket連接發(fā)送至電腦。由此步驟可以看出,本發(fā)明使用的網(wǎng)絡(luò)傳輸對(duì)象是CMD命令,這使本方法的網(wǎng)絡(luò)負(fù)載較小。步驟7.執(zhí)行CMD命令將CMD命令寫入步驟2建立的CMD進(jìn)程的輸入流,并在步驟2建立的CMD進(jìn)程中執(zhí)行傳入的CMD命令。步驟8.發(fā)送命令執(zhí)行結(jié)果讀步驟2建立的命令提示符窗口進(jìn)程的輸出流,判斷命令提示符窗口 CMD命令中 是否存在返回結(jié)果若存在,則將返回結(jié)果通過(guò)步驟4建立的Socket連接發(fā)送至手持移動(dòng)設(shè)備;否則,將字符串“NULL”通過(guò)該Socket連接發(fā)送至手持移動(dòng)設(shè)備。判斷發(fā)送至手持移動(dòng)設(shè)備的返回結(jié)果是否為字符串“NULL”:若是,則執(zhí)行步驟9;否則,將返回信息顯示到手持移動(dòng)設(shè)備端控制界面。此步驟的返回信息可以以視圖的方式顯示到手持移動(dòng)設(shè)備端控制界面的控制界面上,這樣使得用戶體驗(yàn)更好。由此步驟可以看出,本發(fā)明在實(shí)施控制時(shí)有返回信息,并且返回信息占用傳輸帶寬小。步驟9.釋放資源判斷用戶是否繼續(xù)控制電腦若是,則釋放步驟4建立的Socket連接,關(guān)閉步驟2在電腦端建立的命令提示符窗口進(jìn)程并關(guān)閉步驟2所述電腦端Socket服務(wù)器的監(jiān)聽(tīng)端口 ;否則執(zhí)行步驟6。下面結(jié)合附圖2,附圖3對(duì)本發(fā)明的效果做進(jìn)一步的描述附圖2,附圖 3 實(shí)現(xiàn)的仿真環(huán)境為Intel (R) Core (TM) 2CPU T81002. 10GHz, Window7,測(cè)試程序Cellphone Controller,該測(cè)試程序是本專利發(fā)明人使用本專利所述方法開(kāi)發(fā)的測(cè)試程序。圖2為使用本發(fā)明瀏覽磁盤文件信息的仿真效果圖。用戶通過(guò)在手持移動(dòng)設(shè)備端控制界面上點(diǎn)擊磁盤盤符圖標(biāo),向電腦端服務(wù)程序發(fā)送CMD命令“dir”。電腦端服務(wù)程序通過(guò)命令消息提示符窗口進(jìn)程運(yùn)行該CMD命令并將返回信息發(fā)送給手持移動(dòng)設(shè)備,手持設(shè)備端應(yīng)用程序?qū)⒎祷氐奈募畔⑥D(zhuǎn)化為視圖信息返回給用戶,視圖信息為圖2所顯示的內(nèi)容。圖2中左上的掃描可用主機(jī)按鈕的功能是通過(guò)Socket掃描可用電腦信息集合相當(dāng)于步驟4。向上按鈕的功能是返回上一級(jí)文件夾相當(dāng)于先使用步驟6,步驟7,步驟8執(zhí)行了CMD命令“Cd.. ”,再使用驟6,步驟7,步驟8執(zhí)行CMD命令“dir”并將返回結(jié)果以視圖形式表示在圖中的主體部分。磁盤信息按鈕的功能是顯示磁盤信息相當(dāng)于先使用步驟6,步驟 7,步驟 8 執(zhí)行了 CMD 命令“wmic logicaldisk get DeviceID, DriveType, FileSystem,FreeSpace, Size, VolumeName”并將返回結(jié)果以視圖形式表示在圖2中除了三個(gè)按鈕以外的主體部分。圖2中除了三個(gè)按鈕以外的主體部分顯示了 D :號(hào)磁盤下的文件信息是在D 號(hào)磁盤下使用驟6,步驟7,步驟8執(zhí)行CMD命令“dir”后的視圖化返回信息。用戶可通過(guò)本發(fā)明方便的瀏覽文件信息及磁盤信息,實(shí)現(xiàn)對(duì)電腦中所有文件的查看。圖3為使用本發(fā)明瀏覽進(jìn)程信息的仿真效果圖。當(dāng)用戶打開(kāi)測(cè)試程序進(jìn)程面板時(shí),手持移動(dòng)設(shè)備端應(yīng)用程序?qū)Ⅻc(diǎn)擊操作轉(zhuǎn)化為CMD命令“wmic process get CSName,Name, HandleCount, Priority, Processld, ThreadCount, WorkingSetSize^,并使用驟 6,步驟7,步驟8執(zhí)行該CMD命令,然后將返回的進(jìn)程信息轉(zhuǎn)化為表格信息返回給用戶,表格信息為圖3所顯示的內(nèi)容。圖3中顯示了仿真電腦當(dāng)前時(shí)刻進(jìn)程信息表格,其中第一行為表頭信息,其余行為具體進(jìn)程信息。表頭信息所表示的含義依次為進(jìn)程ID,進(jìn)程的名稱,進(jìn)程所屬的用戶名,進(jìn)程的優(yōu)先級(jí),進(jìn)程擁有的線程數(shù),進(jìn)程的句柄數(shù)和進(jìn)程工作集大小。工作集的單位為KB。其余每行顯示了每個(gè)進(jìn)程的具體信息。用戶還能通過(guò)長(zhǎng)按某一進(jìn)程信息 所在的行使用驟6,步驟7,步驟8執(zhí)行CMD命令“wmic process where Processld = PIDdelete”結(jié)束該進(jìn)程。其中PID為待結(jié)束的進(jìn)程ID。使用戶可通過(guò)本發(fā)明方便的瀏覽進(jìn)程信息并控制進(jìn)程。
權(quán)利要求
1.一種局域網(wǎng)絡(luò)中手持移動(dòng)設(shè)備控制電腦的方法,其特征在于,包括如下步驟 (1)連接局域網(wǎng)絡(luò) Ia)開(kāi)啟無(wú)線路由器,啟動(dòng)無(wú)線路由器動(dòng)態(tài)主機(jī)設(shè)置協(xié)議的服務(wù)功能; Ib)將電腦連接至無(wú)線路由器; Ic)開(kāi)啟手持移動(dòng)設(shè)備的Wifi功能并通過(guò)手持移動(dòng)設(shè)備的Wifi連接至無(wú)線路由器的無(wú)線局域網(wǎng)接入點(diǎn); (2)開(kāi)啟電腦端服務(wù) 2a)調(diào)用系統(tǒng)函數(shù),開(kāi)啟電腦端Socket服務(wù)器的監(jiān)聽(tīng)端口 ; 2b)調(diào)用系統(tǒng)函數(shù),在電腦端建立命令提示符窗口進(jìn)程; (3)獲取局域網(wǎng)絡(luò)號(hào) 3a)調(diào)用系統(tǒng)函數(shù),獲得手持移動(dòng)設(shè)備網(wǎng)卡信息中的IP地址; 3b)判斷IP地址的地址類型若IP地址為A類地址,則子網(wǎng)掩碼為OxFFOOOOOO ;若IP地址為B類地址,則子網(wǎng)掩碼為OxFFFFOOOO ;若IP地址為C類地址,則子網(wǎng)掩碼為OxFFFFFFOO ; 3c)將子網(wǎng)掩碼和IP地址進(jìn)行與運(yùn)算得出網(wǎng)絡(luò)號(hào); (4)構(gòu)建可用電腦信息集合 4a)將手持移動(dòng)設(shè)備端可用電腦信息集合設(shè)為空集,完成初始化; 4b)將32位二進(jìn)制變量i設(shè)置為步驟3b)所述的子網(wǎng)掩碼; 4c)將i設(shè)置為i+1,并將i與步驟3b)所述子網(wǎng)掩碼的非進(jìn)行與運(yùn)算,再將運(yùn)算結(jié)果與步驟3c)算出的網(wǎng)絡(luò)號(hào)進(jìn)行或運(yùn)算得到局域網(wǎng)絡(luò)中一個(gè)未訪問(wèn)IP地址; 4d)將手持移動(dòng)設(shè)備的Socket端口連接至該IP地址對(duì)應(yīng)電腦端Socket服務(wù)器監(jiān)聽(tīng)端n ; 4e)判斷Socket連接是否成功若是,則在手持移動(dòng)設(shè)備與電腦端間建立Socket連接,將該Socket連接的信息作為可用電腦信息存入可用電腦信息集合;否則,執(zhí)行步驟4f); 4f)判斷i是否小于OxFFFFFFFF :若是,則執(zhí)行步驟4c);否則,可用電腦信息集合構(gòu)建完成,執(zhí)行步驟4g); 4g)將可用電腦集合信息在移動(dòng)設(shè)備端控制界面顯示; (5)輸入控制密碼 5a)用戶在手持移動(dòng)設(shè)備端控制界面上選擇需控制的可用電腦,將選中的可用電腦對(duì)應(yīng)的Socket連接保留,釋放其余Socket連接; 5b)用戶在手持移動(dòng)設(shè)備端控制界面上輸入與選中的可用電腦對(duì)應(yīng)的控制密碼; 5c)將控制密碼通過(guò)步驟4f)建立的Socket連接發(fā)送至電腦; 5e)判斷發(fā)送至電腦的控制密碼與電腦端數(shù)據(jù)庫(kù)中原密碼是否相同若是,則密碼正確,執(zhí)行步驟6a);否則,密碼錯(cuò)誤,執(zhí)行步驟5f); 5f)將密碼錯(cuò)誤提示信息通過(guò)步驟4f)建立的Socket連接發(fā)送至手持移動(dòng)設(shè)備; 5g)將密碼錯(cuò)誤提示顯示到手持移動(dòng)設(shè)備端控制界面,執(zhí)行步驟4a); (6)發(fā)送CMD命令 6a)用戶在手持移動(dòng)設(shè)備端控制界面上輸入命令提示符窗口 CMD命令;6b)將用戶輸入的命令提示符窗口 CMD命令通過(guò)步驟4f)建立的Socket連接發(fā)送至電腦; (7)執(zhí)行CMD命令 7a)將命令提示符窗口 CMD命令寫入步驟2b)建立的命令提示符窗口進(jìn)程的輸入流; 7b)在步驟2b)建立的命令提示符窗口進(jìn)程中執(zhí)行傳入的命令提示符窗口 CMD命令; (8)發(fā)送命令執(zhí)行結(jié)果 8a)讀步驟2b)建立的命令提示符窗口進(jìn)程的輸出流,判斷命令提示符窗口 CMD命令中是否存在返回結(jié)果若存在,則將返回結(jié)果通過(guò)步驟4f)建立的Socket連接發(fā)送至手持移動(dòng)設(shè)備;否則,將字符串“NULL”通過(guò)該Socket連接發(fā)送至手持移動(dòng)設(shè)備; Sb)判斷發(fā)送至手持移動(dòng)設(shè)備的返回結(jié)果是否為字符串“NULL”若是,則執(zhí)行步驟9a);否則,將返回信息顯示到移動(dòng)設(shè)備端控制界面; (9)釋放資源 9a)判斷用戶是否繼續(xù)控制電腦若是,執(zhí)行步驟9b);否則執(zhí)行步驟6a); 9b)調(diào)用系統(tǒng)函數(shù),釋放步驟4f)建立的Socket連接; 9c)調(diào)用系統(tǒng)函數(shù),關(guān)閉步驟2b)在電腦端建立的命令提示符窗口進(jìn)程; 9d)調(diào)用系統(tǒng)函數(shù),關(guān)閉電腦端Socket服務(wù)器的監(jiān)聽(tīng)端口。
2.根據(jù)權(quán)利要求I所述的局域網(wǎng)絡(luò)中手持移動(dòng)設(shè)備控制電腦的方法,其特征在于,步驟Ib)所述的電腦是指具有網(wǎng)絡(luò)適配器,安裝有Windows操作系統(tǒng)并支持Socket編程,多進(jìn)程編程和命令提示符窗口的電腦。
3.根據(jù)權(quán)利要求I所述的局域網(wǎng)絡(luò)中手持移動(dòng)設(shè)備控制電腦的方法,其特征在于,步驟Ib)所述的將電腦連接至無(wú)線路由器的方法是,使用雙絞線將電腦連接至無(wú)線路由器的局 域網(wǎng)端口。
4.根據(jù)權(quán)利要求I所述的局域網(wǎng)絡(luò)中手持移動(dòng)設(shè)備控制電腦的方法,其特征在于,步驟Ib)所述的將電腦連接至無(wú)線路由器的方法是,使用無(wú)線網(wǎng)絡(luò)適配器將電腦連接至無(wú)線路由器的無(wú)線局域網(wǎng)接入點(diǎn)。
5.根據(jù)權(quán)利要求I所述的局域網(wǎng)絡(luò)中手持移動(dòng)設(shè)備控制電腦的方法,其特征在于,步驟Ic)所述的手持移動(dòng)設(shè)備是指具有Wifi模塊,支持Socket編程和用戶界面編程的手持移動(dòng)設(shè)備。
6.根據(jù)權(quán)利要求I所述的局域網(wǎng)絡(luò)中手持移動(dòng)設(shè)備控制電腦的方法,其特征在于,步驟5b)所述的控制密碼是指8至20位的無(wú)特殊字符的字符串。
7.根據(jù)權(quán)利要求I所述的局域網(wǎng)絡(luò)中手持移動(dòng)設(shè)備控制電腦的方法,其特征在于,步驟5e)所述的原密碼是指,用戶在控制電腦之前事先在電腦端設(shè)置的8至20位無(wú)特殊字符的字符串。
全文摘要
本發(fā)明公開(kāi)一種局域網(wǎng)絡(luò)中手持移動(dòng)設(shè)備控制電腦的方法,其步驟為(1)連接局域網(wǎng)絡(luò);(2)開(kāi)啟電腦端服務(wù);(3)獲取局域網(wǎng)絡(luò)號(hào);(4)構(gòu)建可用電腦信息集合;(5)輸入控制密碼;(6)發(fā)送CMD命令;(7)執(zhí)行CMD命令;(8)發(fā)送命令執(zhí)行結(jié)果;(9)釋放資源。本發(fā)明采用了CMD命令作為網(wǎng)絡(luò)傳輸對(duì)象,克服了現(xiàn)有技術(shù)由于采用視頻傳輸技術(shù)導(dǎo)致的網(wǎng)絡(luò)帶寬要求較高,網(wǎng)絡(luò)流量耗費(fèi)多的問(wèn)題,使本發(fā)明能夠應(yīng)用于實(shí)時(shí)性要求較高的環(huán)境中;并且通過(guò)調(diào)用CMD命令直接控制電腦,克服了現(xiàn)有技術(shù)由于采用虛擬鼠標(biāo)鍵盤技術(shù)控制電腦導(dǎo)致的功能單一,沒(méi)有返回結(jié)果,有效控制距離不足的問(wèn)題,使本發(fā)明的應(yīng)用范圍較廣。
文檔編號(hào)G06F9/46GK102707994SQ201210128848
公開(kāi)日2012年10月3日 申請(qǐng)日期2012年4月27日 優(yōu)先權(quán)日2012年4月27日
發(fā)明者于晨曦, 何曉波, 劉志鏡, 周晗, 張毅, 李強(qiáng), 李林燕, 楊澤, 焦東波, 蘆佶, 連潤(rùn)東, 邢方元, 龔尚映 申請(qǐng)人:西安電子科技大學(xué)