一種控制方法、裝置和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種控制方法、裝置和系統(tǒng)。本發(fā)明實(shí)施例采用在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令,然后將封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。由于在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中,用戶端設(shè)備本來(lái)就可以直接將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,所以采用該方案無(wú)需額外增加新的控制接口就可以向RNDIS設(shè)備傳輸控制命令,相對(duì)于現(xiàn)有技術(shù)中需要額外增加新的控制接口和安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度,而且對(duì)RNDIS設(shè)備沒(méi)有特殊的要求,具有普遍的適用性,實(shí)現(xiàn)較為簡(jiǎn)單。
【專利說(shuō)明】一種控制方法、裝置和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,具體涉及一種控制方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002]遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口 規(guī)范(RNDIS, Remote Network Driver Interface Specificat1n)是一種網(wǎng)絡(luò)設(shè)備規(guī)范,它要求RNDIS設(shè)備能夠處理來(lái)自系統(tǒng)的對(duì)象標(biāo)示符(0ID,Object Identifier Descriptor),從而使得系統(tǒng)提供的驅(qū)動(dòng)程序可以通過(guò)兼容模式為不同的RNDIS設(shè)備所使用,而不必為特定的RNDIS設(shè)備設(shè)計(jì)單獨(dú)的驅(qū)動(dòng)程序,而系統(tǒng)則可以向RNDIS設(shè)備發(fā)送不同的OID以完成特定的功能。
[0003]RNDIS的使用,不僅給用戶帶來(lái)了極大的方便,而且也簡(jiǎn)化了 RNDIS設(shè)備的開(kāi)發(fā)過(guò)程,但是,由于RNDIS驅(qū)動(dòng)本身只能傳輸網(wǎng)絡(luò)數(shù)據(jù),不能傳輸用戶的控制命令,所以,用戶的撥號(hào)、斷開(kāi)撥號(hào)等基本請(qǐng)求無(wú)法傳遞給RNDIS設(shè)備,而只能通過(guò)其他操作來(lái)達(dá)到目的,比如用戶需要斷開(kāi)網(wǎng)絡(luò)連接,就只能是通過(guò)移除設(shè)備的方式才能實(shí)現(xiàn),這給使用帶來(lái)了一定的不便。
[0004]針對(duì)該問(wèn)題,現(xiàn)有技術(shù)提出了將RNDIS驅(qū)動(dòng)作為RNDIS設(shè)備的一個(gè)接口,而在該RNDIS設(shè)備中增加另外的控制接口,用戶端設(shè)備通過(guò)控制接口發(fā)送控制命令來(lái)對(duì)RNDIS設(shè)備進(jìn)行控制。
[0005]在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過(guò)程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),通過(guò)增加控制接口的方式僅僅適用于通用串行總線(USB,Universal Serial BUS)接口的RNDIS設(shè)備,而并非所有接口形式的RNDIS設(shè)備都可以實(shí)現(xiàn),因此該方案沒(méi)有普遍的適用性。此外,由于增加了新的控制接口,所以用戶需要額外安裝該新的控制接口的驅(qū)動(dòng)程序,增加了使用復(fù)雜度。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供一種控制方法、裝置和系統(tǒng),不僅具有普遍的適用性,而且可以在不需要安裝額外的驅(qū)動(dòng)程序的情況下,實(shí)現(xiàn)向RNDIS設(shè)備傳輸控制命令的目的,簡(jiǎn)化使用過(guò)程。
[0007]一種控制方法,包括:
[0008]將控制命令封裝在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中,所述控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制;
[0009]將封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。
[0010]一種控制方法,包括:
[0011]將控制命令封裝在向光盤(CD, Compact Disc)或人體學(xué)輸入設(shè)備(HID, HumanInput Device)發(fā)送的數(shù)據(jù)包中,所述控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制;
[0012]將封裝后的數(shù)據(jù)包通過(guò)RNDIS設(shè)備上設(shè)置的⑶接口或HID接口發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。
[0013]一種控制方法,包括:[0014]接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包,所述網(wǎng)絡(luò)數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令;
[0015]對(duì)所述網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,得到所述控制命令;
[0016]根據(jù)所述控制命令的指示執(zhí)行操作。
[0017]一種控制方法,包括:
[0018]通過(guò)設(shè)置在RNDIS設(shè)備上的⑶接口或HID接口接收用戶端設(shè)備發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包中封裝了用于對(duì)所述RNDIS設(shè)備進(jìn)行控制的控制命令;
[0019]對(duì)所述數(shù)據(jù)包進(jìn)行解封裝,得到所述控制命令;
[0020]根據(jù)所述控制命令的指示執(zhí)行操作。
[0021]一種用戶端設(shè)備,包括:
[0022]第一封裝單元,用于將控制命令封裝在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中,所述控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制;
[0023]第一發(fā)送單元,用于將第一封裝單元封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。
[0024]一種用戶端設(shè)備,包括:
[0025]第二封裝單元,用于將控制命令封裝在CD或HID接口格式的數(shù)據(jù)包中,所述控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制;
[0026]第二發(fā)送單元,用于將第二封裝單元封裝后的數(shù)據(jù)包通過(guò)RNDIS設(shè)備上設(shè)置的⑶接口或HID接口發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。
[0027]一種RNDIS設(shè)備,包括:
[0028]第一接收單元,用于接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包,所述網(wǎng)絡(luò)數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令;
[0029]第一解封裝單元,用于對(duì)第一接收單元接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,得到所述控制命令;
[0030]第一處理單元,用于根據(jù)第一解封裝單元得到的控制命令的指示執(zhí)行操作。
[0031]一種RNDIS設(shè)備,包括:
[0032]第二接收單元,用于通過(guò)⑶接口或HID接口接收用戶端設(shè)備發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令;
[0033]第二解封裝單元,用于對(duì)第二接收單元接收到的數(shù)據(jù)包進(jìn)行解封裝,得到所述控制命令;
[0034]第二處理單元,用于根據(jù)第二解封裝單元得到的控制命令的指示執(zhí)行操作。
[0035]一種通信系統(tǒng),包括本發(fā)明實(shí)施例提供的任一種用戶端設(shè)備和本發(fā)明實(shí)施例提供的任一種RNDIS設(shè)備。
[0036]本發(fā)明實(shí)施例采用在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令,然后將封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。由于在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中,用戶端設(shè)備本來(lái)就可以直接將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,所以采用該方案無(wú)需額外增加新的控制接口就可以向RNDIS設(shè)備傳輸控制命令,而且也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外增加新的控制接口和安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度,而且對(duì)RNDIS設(shè)備沒(méi)有特殊的要求,具有普遍的適用性,實(shí)現(xiàn)較為簡(jiǎn)單。【專利附圖】
【附圖說(shuō)明】
[0037]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0038]圖1是本發(fā)明實(shí)施例一提供的控制方法的流程圖;
[0039]圖2是本發(fā)明實(shí)施例二提供的控制方法的流程圖;
[0040]圖3a是本發(fā)明實(shí)施例三提供的控制方法的流程圖;
[0041]圖3b是PC與RNDIS設(shè)備進(jìn)行通信的場(chǎng)景示意圖;
[0042]圖3c是一種使用UDP數(shù)據(jù)包封裝AT命令的數(shù)據(jù)包格式;
[0043]圖4是本發(fā)明實(shí)施例四提供的控制方法的流程圖;
[0044]圖5是本發(fā)明實(shí)施例五提供的控制方法的流程圖;
[0045]圖6a是PC與RNDIS設(shè)備進(jìn)行通信的場(chǎng)景示意圖;
[0046]圖6b是本發(fā)明實(shí)施例四提供的控制方法的流程圖;
[0047]圖7a是本發(fā)明實(shí)施例提供的用戶端設(shè)備的結(jié)構(gòu)示意圖;
[0048]圖7b是本發(fā)明實(shí)施例提供的用戶端設(shè)備的另一結(jié)構(gòu)示意圖;
[0049]圖8是本發(fā)明實(shí)施例提供的用戶端設(shè)備的又一結(jié)構(gòu)示意圖;
[0050]圖9是本發(fā)明實(shí)施例提供的RNDIS設(shè)備的結(jié)構(gòu)示意圖;
[0051]圖10是本發(fā)明實(shí)施例提供的RNDIS設(shè)備的另一結(jié)構(gòu)示意圖;
[0052]圖11是本發(fā)明實(shí)施例提供的通信系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0053]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0054]本發(fā)明實(shí)施例提供一種控制方法、裝置和系統(tǒng)。以下分別進(jìn)行詳細(xì)說(shuō)明。
[0055]實(shí)施例一、
[0056]本實(shí)施例將從用戶端設(shè)備的角度進(jìn)行描述,該用戶端設(shè)備具體可以為個(gè)人計(jì)算機(jī)(PC, Personal Computer)、便攜計(jì)算機(jī)等終端設(shè)備。
[0057]一種控制方法,包括:將用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令封裝在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中,然后將封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。
[0058]參見(jiàn)圖1,具體流程可以如下:
[0059]101、將控制命令封裝在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中;
[0060]例如,可以將控制命令封裝在發(fā)送給RNDIS設(shè)備的基于連接的傳輸控制協(xié)議(TCP, Transmiss1n Control Protocol)數(shù)據(jù)包中;或者,
[0061]將控制命令封裝在發(fā)送給RNDIS設(shè)備的基于無(wú)連接的用戶數(shù)據(jù)包協(xié)議(UDP,UserDatagram Protocol)數(shù)據(jù)包中。
[0062]其中,該控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制,比如,具體可以為AT命令、診斷(DIAG,Diagnose)命令以及其他的自定義命令。
[0063]102、將封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制;比如請(qǐng)求對(duì)RNDIS設(shè)備進(jìn)行撥號(hào)、解個(gè)人標(biāo)識(shí)號(hào)(PIN, personal identificat1n number)碼、或斷開(kāi)撥號(hào)等操作。
[0064]可選的,在步驟101之前,即在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令之前,還可以包括:建立與RNDIS設(shè)備的網(wǎng)絡(luò)通信端口 ;其中,網(wǎng)絡(luò)通信端口可以為任意端口,但是端口號(hào)不與已知的其他應(yīng)用程序的端口號(hào)重疊。具體的建立方法可參見(jiàn)現(xiàn)有技術(shù),在此不再贅述;
[0065]則此時(shí),步驟101具體可以為:在通過(guò)該網(wǎng)絡(luò)通信端口發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令。
[0066]由上可知,本實(shí)施例采用在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令,然后將封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。由于在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中,用戶端設(shè)備本來(lái)就可以直接將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,所以采用該方案無(wú)需額外增加新的控制接口就可以向RNDIS設(shè)備傳輸控制命令,而且也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外增加新的控制接口和安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度,而且對(duì)RNDIS設(shè)備沒(méi)有特殊的要求,具有普遍的適用性,實(shí)現(xiàn)較為簡(jiǎn)單。
[0067]實(shí)施例二、
[0068]本實(shí)施例將從RNDIS設(shè)備的角度進(jìn)行描述,該RNDIS設(shè)備具體可以為使用了 RNDIS的端口的無(wú)線上網(wǎng)卡。
[0069]一種控制方法,包括:接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包,其中,該網(wǎng)絡(luò)數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令;對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,得到控制命令;根據(jù)控制命令的指示執(zhí)行操作。
[0070]參見(jiàn)圖2,具體流程可以如下:
[0071]201、接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包,其中,網(wǎng)絡(luò)數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令,比如,AT命令、DIAG命令以及其他的自定義命令。
[0072]例如,可以接收用戶端設(shè)備發(fā)送的基于連接的TCP數(shù)據(jù)包,其中,該TCP數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令;或者,
[0073]也可以接收用戶端設(shè)備發(fā)送的基于無(wú)連接的UDP數(shù)據(jù)包,其中,該UDP數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令。
[0074]具體接收該網(wǎng)絡(luò)數(shù)據(jù)包時(shí),可以通過(guò)用戶端設(shè)備和RNDIS設(shè)備之間建立的網(wǎng)絡(luò)通信端口來(lái)進(jìn)行接收。其中,網(wǎng)絡(luò)通信端口可以為任意端口,但是端口號(hào)不與已知的其他應(yīng)用程序的端口號(hào)重疊。
[0075]202、對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,得到控制命令;具體可以如下:
[0076]RNDIS設(shè)備判斷接收到的網(wǎng)絡(luò)數(shù)據(jù)包是否攜帶有控制命令,如果是,則對(duì)該網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,否則確定該接收到的網(wǎng)絡(luò)數(shù)據(jù)包為正常的網(wǎng)絡(luò)數(shù)據(jù),直接發(fā)到網(wǎng)絡(luò)側(cè)。
[0077]203、根據(jù)步驟202中得到的控制命令的指示執(zhí)行操作,比如進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等。[0078]可選的,RNDIS設(shè)備還可以返回響應(yīng)消息,并通過(guò)發(fā)送廣播數(shù)據(jù)包將設(shè)備狀態(tài)變化上報(bào)給系統(tǒng)。
[0079]如,RNDIS設(shè)備將響應(yīng)消息以圖3c同樣的格式進(jìn)行封裝,然后發(fā)送給用戶設(shè)備。
[0080]由上可知,本實(shí)施例采用接收用戶端設(shè)備發(fā)送的封裝有控制命令的網(wǎng)絡(luò)數(shù)據(jù)包,在對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,并得到控制命令之后,根據(jù)控制命令的指示執(zhí)行操作,從而實(shí)現(xiàn)了用戶端設(shè)備對(duì)RNDIS設(shè)備的控制。由于在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中,用戶端設(shè)備本來(lái)就可以直接將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,所以采用該方案無(wú)需額外增加新的控制接口就可以向RNDIS設(shè)備傳輸控制命令,而且由于無(wú)需增加新的控制接口,所以也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外增加新的控制接口和安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度,而且對(duì)RNDIS設(shè)備沒(méi)有特殊的要求,具有普遍的適用性,實(shí)現(xiàn)較為簡(jiǎn)單。
[0081]實(shí)施例三、
[0082]根據(jù)實(shí)施例一和二所描述的方法,以下將舉例進(jìn)行詳細(xì)說(shuō)明。
[0083]在本實(shí)施例中,將以用戶端設(shè)備為PC,網(wǎng)絡(luò)數(shù)據(jù)包為基于無(wú)連接的UDP數(shù)據(jù)包,控制命令為AT命令為例進(jìn)行說(shuō)明。
[0084]參見(jiàn)圖3a,具體流程可以如下:
[0085]301、PC建立與RNDIS設(shè)備的網(wǎng)絡(luò)通信端口 ;該網(wǎng)絡(luò)通信端口可以為任意端口,但是端口號(hào)不與已知的其他應(yīng)用程序的端口號(hào)重疊,用于與RNDIS設(shè)備進(jìn)行通信。為了描述方便,在本發(fā)明實(shí)施例中,將該網(wǎng)絡(luò)通信端口稱為RNDIS控制程序的端口。
[0086]例如,參見(jiàn)圖3b,該圖為了 PC與RNDIS設(shè)備進(jìn)行通信的場(chǎng)景示意圖??磮D中可以看出,文件傳輸協(xié)議(FTP,F(xiàn)ile Transfer Protocol)應(yīng)用程序的端口號(hào)為“21”,超文本傳輸協(xié)議(http,HyperText Transfer Protocol)應(yīng)用程序的端口號(hào)為“80”,假設(shè)在該P(yáng)C設(shè)備中,已使用的端口號(hào)僅為“21”和“80”,則RNDIS控制程序的端口 X可以為除“21”和“80”以外的任意端口。
[0087]由于RNDIS設(shè)備是網(wǎng)絡(luò)設(shè)備,因此PC中的應(yīng)用程序可以直接通過(guò)該網(wǎng)絡(luò)通信端口將網(wǎng)絡(luò)數(shù)據(jù)發(fā)到RNDIS設(shè)備上。
[0088]302、在步驟301建立的網(wǎng)絡(luò)通信端口上,PC將需要下發(fā)給RNDIS設(shè)備的自定義的控制命令,如AT命令封裝在基于無(wú)連接的UDP數(shù)據(jù)包中。
[0089]例如,參見(jiàn)圖3c,該圖為一種使用UDP數(shù)據(jù)包封裝AT命令的數(shù)據(jù)包格式。其中AT標(biāo)識(shí)(AT Flag)字段作為自定義控制命令的標(biāo)識(shí)字段,字段大小可以設(shè)定為8字節(jié)(Bytes) ;AT命令數(shù)據(jù)(AT Command Data)字段為自定義控制命令的數(shù)據(jù)字段,字段大小是變化(Variable)的,即可以根據(jù)數(shù)據(jù)的大小而定,最大可以為1464Bytes。
[0090]在該封裝了 AT命令的UDP數(shù)據(jù)包中,因特網(wǎng)頭部(EthernetHeader)字段、網(wǎng)際協(xié)議頭部(IP Header)字段和UDP頭部(UDP Header)字段與現(xiàn)有的UDP數(shù)據(jù)包格式相同,其中,Ethernet Header字段的大小為14Bytes, IP Header字段的大小為20Bytes, UDPHeader字段的大小為8Bytes。但是,Ethernet Header中的目的媒體接入控制層(MAC,MediaAccess Control)地址需要使用RNDIS設(shè)備的MAC地址或者廣播地址,以保證該UDP數(shù)據(jù)包能夠被RNDIS設(shè)備接收到;同理,IP Header中的目的IP地址也需要使用RNDIS設(shè)備的IP地址或者廣播地址,以保證該Μ)Ρ數(shù)據(jù)包能夠被RNDIS設(shè)備接收到。
[0091]303、PC將封裝了 AT命令的UDP數(shù)據(jù)包發(fā)送給RNDIS設(shè)備。[0092]304,RNDIS設(shè)備接收PC發(fā)送的UDP數(shù)據(jù)包,判斷UDP數(shù)據(jù)包中是否攜帶AT命令,比如可以判斷UDP數(shù)據(jù)包中的AT標(biāo)識(shí)是否匹配,如果是,則對(duì)接收到的UDP數(shù)據(jù)包進(jìn)行解封裝,得到AT命令,具體的解封裝方法可參見(jiàn)現(xiàn)有技術(shù),在此不再贅述;如果UDP數(shù)據(jù)包中沒(méi)有攜帶AT命令,比如UDP數(shù)據(jù)包中的AT標(biāo)識(shí)不匹配,則確定該UDP數(shù)據(jù)包為普通的UDP數(shù)據(jù)包,RNDIS設(shè)備直接將該UDP數(shù)據(jù)包發(fā)送給網(wǎng)絡(luò)側(cè)。
[0093]305、RNDIS設(shè)備根據(jù)步驟304中得到AT命令的指示執(zhí)行操作,比如進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等。
[0094]可選的,RNDIS設(shè)備可以通過(guò)應(yīng)答UDP數(shù)據(jù)包的方式,對(duì)相應(yīng)的AT命令進(jìn)行響應(yīng),并可以通過(guò)發(fā)送廣播數(shù)據(jù)包的方式將RNDIS設(shè)備的設(shè)備狀態(tài)變化上報(bào)給PC。
[0095]需說(shuō)明的是,以上僅僅以網(wǎng)絡(luò)數(shù)據(jù)包為基于無(wú)連接的UDP數(shù)據(jù)包為例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解的是,還可以為其他的網(wǎng)絡(luò)數(shù)據(jù)包,比如基于連接的TCP數(shù)據(jù)包等;另外,控制命令除了可以是AT命令之外,也可以是其他命令,比如DIAG命令以及其他的自定義命令等。
[0096]由上可知,本實(shí)施例采用在發(fā)送給RNDIS設(shè)備的UDP數(shù)據(jù)包中封裝AT命令,然后將封裝后的UDP數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。由于在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中,用戶端設(shè)備本來(lái)就可以直接將UDP數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,所以采用該方案無(wú)需額外增加新的控制接口,而是使用RNDIS設(shè)備原有的接口,相對(duì)于現(xiàn)有技術(shù)需要增加額外的控制接口而言,方便了用戶的使用。而且,由于無(wú)需增加新的控制接口,所以也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度;進(jìn)一步的,該方案對(duì)RNDIS設(shè)備沒(méi)有特殊的要求,具有普遍的適用性,實(shí)現(xiàn)較為簡(jiǎn)單。
[0097]實(shí)施例四、
[0098]除了在用戶端設(shè)備和RNDIS設(shè)備之間建立網(wǎng)絡(luò)通信端口之外,也可以通過(guò)在RNDIS設(shè)備上增加光盤(⑶,Compact Disc)接口或人體學(xué)輸入設(shè)備(HID, Human InputDevice)接口的方式來(lái)封裝和發(fā)送控制命令,即將控制命令封裝成CD格式或HID接口格式,然后通過(guò)⑶接口或HID接口發(fā)送給RNDIS設(shè)備。
[0099]與實(shí)施例一相似的,本實(shí)施例也將從用戶端設(shè)備的角度進(jìn)行描述,該用戶端設(shè)備具體可以為PC、便攜計(jì)算機(jī)等終端設(shè)備。
[0100]參見(jiàn)圖4,一種控制方法,具體流程可以如下:
[0101]401、將控制命令封裝在⑶或HID接口格式的數(shù)據(jù)包中;
[0102]其中,控制命令用于對(duì)遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范RNDIS設(shè)備進(jìn)行控制,比如,具體可以為AT命令、診斷(DIAG,Diagnose)命令以及其他的自定義命令。
[0103]402、將封裝后的數(shù)據(jù)包通過(guò)RNDIS設(shè)備上設(shè)置的⑶接口或HID接口發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制,比如請(qǐng)求對(duì)RNDIS設(shè)備進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等操作。
[0104]由上可知,本實(shí)施例采用將控制命令封裝在CD或HID接口格式的數(shù)據(jù)包中,然后通過(guò)在RNDIS設(shè)備上設(shè)置的⑶接口或HID接口發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。由于現(xiàn)有的PC系統(tǒng)中已經(jīng)包含了通用的CD接口或者HID設(shè)備的驅(qū)動(dòng),因此該方案也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度。
[0105]實(shí)施例五、[0106]與實(shí)施例四對(duì)應(yīng)的,本實(shí)施例將從RNDIS設(shè)備的角度進(jìn)行描述。
[0107]參見(jiàn)圖5,一種控制方法,具體流程可以如下:
[0108]501、通過(guò)設(shè)置在RNDIS設(shè)備上的⑶接口或HID接口接收用戶端設(shè)備發(fā)送的數(shù)據(jù)包,其中,該數(shù)據(jù)包中封裝了用于對(duì)該RNDIS設(shè)備進(jìn)行控制的控制命令;
[0109]需說(shuō)明的是,這里的數(shù)據(jù)包指的是⑶格式或HID接口格式的數(shù)據(jù)包。
[0110]502、對(duì)接收到的數(shù)據(jù)包進(jìn)行解封裝,得到控制命令;比如,AT命令、DIAG命令以及其他的自定義命令。具體可以如下:
[0111]RNDIS設(shè)備判斷接收到的數(shù)據(jù)包是否攜帶有控制命令,如果是,則對(duì)該數(shù)據(jù)包進(jìn)行解封裝,否則確定該接收到的數(shù)據(jù)包為正常的數(shù)據(jù),按現(xiàn)有技術(shù)進(jìn)行處理。
[0112]503、根據(jù)步驟502中得到的控制命令的指示執(zhí)行操作,比如進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等。
[0113]由上可知,本實(shí)施例采用通過(guò)⑶接口或HID接口接收用戶端設(shè)備發(fā)送的封裝有控制命令的數(shù)據(jù)包,在對(duì)數(shù)據(jù)包進(jìn)行解封裝,并得到控制命令之后,根據(jù)控制命令的指示執(zhí)行操作,從而實(shí)現(xiàn)了用戶端設(shè)備對(duì)RNDIS設(shè)備的控制。由于現(xiàn)有的PC系統(tǒng)中已經(jīng)包含了通用的CD接口或者HID設(shè)備的驅(qū)動(dòng),因此該方案也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度,當(dāng)然,由于該方案需要增加額外的接口,所以相對(duì)于實(shí)施一、二和三的方法而言,實(shí)現(xiàn)較為復(fù)雜。
[0114]實(shí)施例六、
[0115]根據(jù)實(shí)施四和五所描述的方法,以下將舉例進(jìn)行詳細(xì)說(shuō)明。
[0116]與實(shí)施例三類似的,本實(shí)施例也將以用戶端設(shè)備為PC,控制命令為AT命令為例進(jìn)行說(shuō)明;與實(shí)施例三不同的是,在本實(shí)施例中,不建立PC建立與RNDIS設(shè)備之間的網(wǎng)絡(luò)通信端口,而是在RNDIS設(shè)備上增加⑶接口或者HID接口。該方案主要適用于支持組合設(shè)備形態(tài)的接口類型的設(shè)備,如USB設(shè)備。以下將以用戶端設(shè)備為PC,控制命令為AT命令為例進(jìn)行簡(jiǎn)略說(shuō)明。
[0117]首先,需要在RNDIS設(shè)備上增加CD接口或者HID接口,用于接收封裝有控制命令的⑶格式或HID接口格式的數(shù)據(jù)包,而原有的RNDIS端口則仍用于接收普通的網(wǎng)絡(luò)數(shù)據(jù)包,參見(jiàn)圖6a,該圖為PC與RNDIS設(shè)備進(jìn)行通信的場(chǎng)景示意圖。由于PC系統(tǒng)中已經(jīng)包含了通用的CD接口或者HID設(shè)備的驅(qū)動(dòng),因此這種方案下也無(wú)需安裝額外的驅(qū)動(dòng)程序。
[0118]參見(jiàn)圖6b,具體流程可以如下:
[0119]601、PC將需要下發(fā)給RNDIS設(shè)備的自定義的控制命令,如AT命令封裝在向CD或者HID設(shè)備發(fā)送的數(shù)據(jù)包中。
[0120]602、PC將封裝了 AT命令的數(shù)據(jù)包發(fā)送給RNDIS設(shè)備。
[0121]603,RNDIS設(shè)備通過(guò)⑶接口或者HID接口接收PC發(fā)送的數(shù)據(jù)包,并判斷該數(shù)據(jù)包是否攜帶了 AT命令,比如判斷該數(shù)據(jù)包攜帶的AT標(biāo)識(shí)是否匹配,如果是,則對(duì)接收到的數(shù)據(jù)包進(jìn)行解封裝,得到AT命令,具體的解封裝方法可參見(jiàn)現(xiàn)有技術(shù),在此不再贅述;否則,如果判斷該數(shù)據(jù)包沒(méi)有攜帶了 AT命令,比如該數(shù)據(jù)包攜帶的AT標(biāo)識(shí)不匹配,則確定該數(shù)據(jù)包為普通的CD或者HID數(shù)據(jù),按照現(xiàn)有技術(shù)的流程進(jìn)行處理。
[0122]604、RNDIS設(shè)備根據(jù)步驟603中得到AT命令的指示執(zhí)行操作,比如進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等。[0123]可選的,RNDIS設(shè)備可以通過(guò)應(yīng)答數(shù)據(jù)包的方式,對(duì)相應(yīng)的AT命令進(jìn)行響應(yīng),并可以通過(guò)發(fā)送廣播數(shù)據(jù)包的方式將RNDIS設(shè)備的設(shè)備狀態(tài)變化上報(bào)給PC。
[0124]需說(shuō)明的是,以上僅僅以AT命令為例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解的是,還可以是其他命令,比如DIAG命令以及其他的自定義命令等。
[0125]由上可知,本實(shí)施例采用在RNDIS設(shè)備增加額外的⑶接口或HID接口,在發(fā)送給RNDIS設(shè)備的數(shù)據(jù)包中封裝AT命令,然后將封裝后的數(shù)據(jù)包通過(guò)⑶接口或HID接口發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。由于現(xiàn)有的PC系統(tǒng)中已經(jīng)包含了通用的⑶接口或者HID設(shè)備的驅(qū)動(dòng),因此該方案也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度,當(dāng)然,由于該方案需要增加額外的接口,所以相對(duì)于實(shí)施三而言,實(shí)現(xiàn)較為復(fù)雜。
[0126]實(shí)施例七、
[0127]為了更好地實(shí)施一至三的方法,本發(fā)明實(shí)施例還相應(yīng)地提供一種用戶端設(shè)備,如圖7a所示,該用戶端設(shè)備包括第一封裝單元701和第一發(fā)送單元702 ;
[0128]第一封裝單元701,用于將控制命令封裝在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中,其中,該控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制;
[0129]其中,網(wǎng)絡(luò)數(shù)據(jù)包可以是基于連接的TCP數(shù)據(jù)包或基于無(wú)連接的UDP數(shù)據(jù)包等,控制命令具體可以為AT命令,等等。
[0130]第一發(fā)送單元702,用于將第一封裝單元701封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制,比如請(qǐng)求對(duì)RNDIS設(shè)備進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等操作。
[0131]可選的,參見(jiàn)圖7b,該用戶端設(shè)備還可以包括第一建立單元703 ;
[0132]第一建立單元703,用于建立與RNDIS設(shè)備的網(wǎng)絡(luò)通信端口 ;其中,該網(wǎng)絡(luò)通信端口可以為任意端口,但是端口號(hào)不與已知的其他應(yīng)用程序的端口號(hào)重疊,具體的建立方法可參見(jiàn)現(xiàn)有技術(shù),在此不再贅述;
[0133]則此時(shí),第一封裝單元701,具體用于在第一建立單元703建立的網(wǎng)絡(luò)通信端口上的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令。
[0134]可選的,該用戶端設(shè)備還可以包括第一接收單元,用于接收RNDIS設(shè)備返回的關(guān)于控制命令的響應(yīng),進(jìn)一步的,還可以接收RNDIS設(shè)備上報(bào)的RNDIS設(shè)備的設(shè)備狀態(tài)變化。
[0135]以上各個(gè)單元的具體實(shí)施可參見(jiàn)前面實(shí)施例,在此不再贅述。
[0136]由上可知,本實(shí)施例的用戶端設(shè)備的第一封裝單元701可以在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令,然后由第一發(fā)送單元702將封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。由于在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中,用戶端設(shè)備本來(lái)就可以直接將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,所以采用該方案無(wú)需額外增加新的控制接口就可以向RNDIS設(shè)備傳輸控制命令,而且也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外增加新的控制接口和安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度,而且對(duì)RNDIS設(shè)備沒(méi)有特殊的要求,具有普遍的適用性,實(shí)現(xiàn)較為簡(jiǎn)單。
[0137]實(shí)施例八、
[0138]為了更好地實(shí)施四至六的方法,本發(fā)明實(shí)施例還相應(yīng)地提供一種用戶端設(shè)備,如圖8所示,該用戶端設(shè)備包括第二封裝單元801和第二發(fā)送單元802 ;[0139]第二封裝單元801,用于將控制命令封裝在CD或HID接口格式的數(shù)據(jù)包中,其中,控制命令用于對(duì)遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范RNDIS設(shè)備進(jìn)行控制;比如,具體可以為AT命令、DIAG命令以及其他的自定義命令;
[0140]第二發(fā)送單元802,用于將第二封裝單元801封裝后的數(shù)據(jù)包通過(guò)RNDIS設(shè)備上設(shè)置的⑶接口或HID接口發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制,比如請(qǐng)求對(duì)RNDIS設(shè)備進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等操作。
[0141]由上可知,本實(shí)施例提供的用戶端設(shè)的第二封裝單元801采用將控制命令封裝在⑶或HID接口格式的數(shù)據(jù)包中,然后由第二發(fā)送單元802通過(guò)在RNDIS設(shè)備上設(shè)置的⑶接口或HID接口發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制。由于現(xiàn)有的PC系統(tǒng)中已經(jīng)包含了通用的CD接口或者HID設(shè)備的驅(qū)動(dòng),因此該方案也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度。
[0142]實(shí)施例九、
[0143]與實(shí)施例七相應(yīng)地,本發(fā)明實(shí)施例還提供一種RNDIS設(shè)備,如圖9所示,該RNDIS設(shè)備包括第一接收單元901、第一解封裝單元902和第一處理單元903 ;
[0144]第一接收單元901,用于接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包,其中,該網(wǎng)絡(luò)數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令,比如AT命令、DIAG命令以及其他的自定義命令等,該網(wǎng)絡(luò)數(shù)據(jù)包具體可以是基于連接的TCP數(shù)據(jù)包或基于無(wú)連接的UDP數(shù)據(jù)包,等
坐寸ο
[0145]第一解封裝單元902,用于對(duì)第一接收單元901接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,得到控制命令;具體可參見(jiàn)前面實(shí)施例,在此不再贅述。
[0146]第一處理單元903,用于根據(jù)解封裝單元902得到的控制命令的指示執(zhí)行操作,比如進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等。
[0147]其中,接收單元901,具體用于通過(guò)用戶端設(shè)備和RNDIS設(shè)備之間建立的網(wǎng)絡(luò)通信端口接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包;其中,該網(wǎng)絡(luò)通信端口可以為任意端口,但是端口號(hào)不與已知的其他應(yīng)用程序的端口號(hào)重疊。
[0148]可選的,該RNDIS設(shè)備還可以包括第一響應(yīng)單元,用于返回響應(yīng)消息給用戶端設(shè)備,該響應(yīng)單元還可以通過(guò)發(fā)送廣播數(shù)據(jù)包將設(shè)備狀態(tài)變化上報(bào)給用戶端設(shè)備。
[0149]以上各個(gè)單元的具體實(shí)施可參見(jiàn)前面實(shí)施例,在此不再贅述。
[0150]該RNDIS設(shè)備具體可以為使用了 RNDIS的端口的無(wú)線上網(wǎng)卡。
[0151]由上可知,本實(shí)施例的RNDIS設(shè)備的第一接收單元901可以接收用戶端設(shè)備發(fā)送的封裝有控制命令的網(wǎng)絡(luò)數(shù)據(jù)包,在第一解封裝單元902對(duì)該網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,并得到控制命令之后,由第一處理單元903根據(jù)控制命令的指示執(zhí)行操作,從而實(shí)現(xiàn)了用戶端設(shè)備對(duì)RNDIS設(shè)備的控制。由于在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中,用戶端設(shè)備本來(lái)就可以直接將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,所以采用該方案無(wú)需額外增加新的控制接口就可以向RNDIS設(shè)備傳輸控制命令,而且也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外增加新的控制接口和安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度,而且對(duì)RNDIS設(shè)備沒(méi)有特殊的要求,具有普遍的適用性,實(shí)現(xiàn)較為簡(jiǎn)單。
[0152]實(shí)施例十、
[0153]與實(shí)施例八相應(yīng)地,本發(fā)明實(shí)施例還提供一種RNDIS設(shè)備,如圖10所示,該RNDIS設(shè)備包括第二接收單元1001、第二解封裝單元1002和第二處理單元1003 ;
[0154]第二接收單元1001,用于通過(guò)⑶接口或HID接口接收用戶端設(shè)備發(fā)送的數(shù)據(jù)包,其中,數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令;
[0155]需說(shuō)明的是,這里的數(shù)據(jù)包指的是⑶格式或HID接口格式的數(shù)據(jù)包。
[0156]第二解封裝單元1002,用于對(duì)第二接收單元1001接收到的數(shù)據(jù)包進(jìn)行解封裝,得到控制命令;比如,AT命令、DIAG命令以及其他的自定義命令;具體可參見(jiàn)前面實(shí)施例,在此不再贅述。
[0157]第二處理單元1003,用于根據(jù)第二解封裝單元1002得到的控制命令的指示執(zhí)行操作,比如進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等。
[0158]該RNDIS設(shè)備具體可以為使用了 RNDIS的端口的無(wú)線上網(wǎng)卡。
[0159]由上可知,本實(shí)施例提供的RNDIS設(shè)備的第二接收單元1001采用通過(guò)⑶接口或HID接口接收用戶端設(shè)備發(fā)送的封裝有控制命令的數(shù)據(jù)包,在第二解封裝單元1002對(duì)數(shù)據(jù)包進(jìn)行解封裝,并得到控制命令之后,由第二處理單元1003根據(jù)控制命令的指示執(zhí)行操作,從而實(shí)現(xiàn)了用戶端設(shè)備對(duì)RNDIS設(shè)備的控制。由于現(xiàn)有的PC系統(tǒng)中已經(jīng)包含了通用的CD接口或者HID設(shè)備的驅(qū)動(dòng),因此該方案也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度。
[0160]實(shí)施例1^一、
[0161]相應(yīng)的,本發(fā)明 實(shí)施例還提供一種通信系統(tǒng),如圖11所示,包括本發(fā)明實(shí)施例提供的任一種用戶端設(shè)備700和任一種RNDIS設(shè)備900 ;
[0162]用戶端設(shè)備700,用于將控制命令封裝在發(fā)送給RNDIS設(shè)備900的網(wǎng)絡(luò)數(shù)據(jù)包中或者封裝在CD或HID接口格式的數(shù)據(jù)包中,然后將封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備900,或者將封裝后的數(shù)據(jù)包通過(guò)RNDIS設(shè)備上設(shè)置的⑶接口或HID接口發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備900進(jìn)行控制;其中,控制命令用于對(duì)RNDIS設(shè)備900進(jìn)行控制,該控制命令具體可以為AT命令等,網(wǎng)絡(luò)數(shù)據(jù)包具體可以為TCP數(shù)據(jù)包或UDP數(shù)據(jù)包,等等。
[0163]RNDIS設(shè)備900,用于接收用戶端設(shè)備700發(fā)送的封裝了用于對(duì)RNDIS設(shè)備900進(jìn)行控制的控制命令的網(wǎng)絡(luò)數(shù)據(jù)包或數(shù)據(jù)包,對(duì)該網(wǎng)絡(luò)數(shù)據(jù)包或數(shù)據(jù)包進(jìn)行解封裝,得到控制命令,然后根據(jù)控制命令的指示執(zhí)行操作,比如進(jìn)行撥號(hào)、解PIN碼、或斷開(kāi)撥號(hào)等。
[0164]具體實(shí)施時(shí),可選的,用戶端設(shè)備700,還用于建立與RNDIS設(shè)備900的網(wǎng)絡(luò)通信端口,然后在該網(wǎng)絡(luò)通信端口上的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令;其中,網(wǎng)絡(luò)通信端口可以為任意端口,但是端口號(hào)不與已知的其他應(yīng)用程序的端口號(hào)重疊。
[0165]則此時(shí),RNDIS設(shè)備900,具體用于通過(guò)用戶端設(shè)備和RNDIS設(shè)備之間建立的網(wǎng)絡(luò)通信端口接收網(wǎng)絡(luò)數(shù)據(jù)包。
[0166]可選的,RNDIS設(shè)備900,還用于返回響應(yīng)消息,并通過(guò)發(fā)送廣播數(shù)據(jù)包將設(shè)備狀態(tài)變化上報(bào)給系統(tǒng);
[0167]則此時(shí),用戶端設(shè)備700,還用于接收RNDIS設(shè)備900返回的響應(yīng)消息和上報(bào)的設(shè)備狀態(tài)變化。
[0168]以上各個(gè)單元的具體實(shí)施可參見(jiàn)前面實(shí)施例,在此不再贅述。
[0169]由上可知,本實(shí)施例的通信系統(tǒng)的用戶端設(shè)備700采用將控制命令封裝在發(fā)送給RNDIS設(shè)備900的網(wǎng)絡(luò)數(shù)據(jù)包,然后將封裝后的UDP數(shù)據(jù)包發(fā)送給RNDIS設(shè)備900,以對(duì)RNDIS設(shè)備900進(jìn)行控制。由于在現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中,用戶端設(shè)備700本來(lái)就可以直接將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備900,所以采用該方案無(wú)需額外增加新的控制接口,而是使用RNDIS設(shè)備900原有的接口,相對(duì)于現(xiàn)有技術(shù)需要增加額外的控制接口而言,方便了用戶的使用。而且,也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外安裝驅(qū)動(dòng)程序的方案而言,降低了使用的復(fù)雜度;進(jìn)一步的,該方案對(duì)RNDIS設(shè)備900沒(méi)有特殊的要求,具有普遍的適用性,實(shí)現(xiàn)較為簡(jiǎn)單。
[0170]需說(shuō)明的是,即使在本發(fā)明實(shí)施例中,也提出可以通過(guò)新增額外的⑶或HID接口來(lái)建立控制通道,但是由于現(xiàn)有的用戶端設(shè)備700的系統(tǒng)中已經(jīng)包含了通用的⑶接口或者HID設(shè)備的驅(qū)動(dòng),因此該方案也無(wú)需安裝額外的驅(qū)動(dòng)程序,相對(duì)于現(xiàn)有技術(shù)中需要額外安裝驅(qū)動(dòng)程序的方案而言,也同樣可以達(dá)到降低了使用的復(fù)雜度的目的。
[0171]本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:只讀存儲(chǔ)器(ROM, Read Only Memory)、隨機(jī)存取記憶體(RAM, Random AccessMemory)、磁盤或光盤等。
[0172]以上對(duì)本發(fā)明實(shí)施例所提供的一種控制方法、裝置和系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【權(quán)利要求】
1.一種控制方法,其特征在于,包括: 將控制命令封裝在要發(fā)送給遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范RNDis設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中,所述控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制; 將封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制; 其中,所述控制命令為AT命令,所述網(wǎng)絡(luò)數(shù)據(jù)包為UDP數(shù)據(jù)包,使用所述UDP數(shù)據(jù)包封裝所述AT命令的數(shù)據(jù)包格式包括因特網(wǎng)頭部字段、國(guó)際協(xié)議頭部字段、UDP頭部字段、AT標(biāo)識(shí)字段和AT命令數(shù)據(jù)字段,所述AT標(biāo)識(shí)字段為自定義控制命令的標(biāo)識(shí)字段,所述AT命令數(shù)據(jù)字段為自定義控制命令的數(shù)據(jù)字段,所述因特網(wǎng)頭部字段中的目的媒體接入控制層地址為所述RNDIS設(shè)備的MAC地址或者廣播地址,所述國(guó)際協(xié)議頭部字段中的目的IP地址為所述RNDIS設(shè)備的IP地址或者廣播地址。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將控制命令封裝在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中包括: 將控制命令封裝在發(fā)送給RNDIS設(shè)備的基于無(wú)連接的用戶數(shù)據(jù)包協(xié)議UDP數(shù)據(jù)包中。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將控制命令封裝在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中之前 ,還包括: 建立與RNDIS設(shè)備的網(wǎng)絡(luò)通信端口 ; 貝U,所述將控制命令封裝在發(fā)送給RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中具體為:在所述網(wǎng)絡(luò)通信端口上的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令。
4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,所述控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制,具體為,所述控制命令用于對(duì)所述RNDIS設(shè)備進(jìn)行撥號(hào)、解個(gè)人標(biāo)識(shí)號(hào)碼或斷開(kāi)撥號(hào)。
5.—種控制方法,其特征在于,包括: 接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包,所述網(wǎng)絡(luò)數(shù)據(jù)包中封裝了用于對(duì)遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范RNDIS設(shè)備進(jìn)行控制的控制命令; 對(duì)所述網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,得到所述控制命令; 根據(jù)所述控制命令的指示執(zhí)行操作; 其中,所述控制命令為AT命令,所述網(wǎng)絡(luò)數(shù)據(jù)包為UDP數(shù)據(jù)包,使用所述UDP數(shù)據(jù)包封裝所述AT命令的數(shù)據(jù)包格式包括因特網(wǎng)頭部字段、國(guó)際協(xié)議頭部字段、UDP頭部字段、AT標(biāo)識(shí)字段和AT命令數(shù)據(jù)字段,所述AT標(biāo)識(shí)字段為自定義控制命令的標(biāo)識(shí)字段,所述AT命令數(shù)據(jù)字段為自定義控制命令的數(shù)據(jù)字段,所述因特網(wǎng)頭部字段中的目的媒體接入控制層地址為所述RNDIS設(shè)備的MAC地址或者廣播地址,所述國(guó)際協(xié)議頭部字段中的目的IP地址為所述RNDIS設(shè)備的IP地址或者廣播地址。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包包括: 接收用戶端設(shè)備發(fā)送的基于無(wú)連接的用戶數(shù)據(jù)包協(xié)議UDP數(shù)據(jù)包,所述UDP數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包包括: 通過(guò)用戶端設(shè)備和RNDIS設(shè)備之間建立的網(wǎng)絡(luò)通信端口接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包。
8.根據(jù)權(quán)利要求5-7任一所述的方法,其特征在于,所述控制命令用于對(duì)所述RNDIS設(shè)備進(jìn)行撥號(hào)、解個(gè)人標(biāo)識(shí)號(hào)碼或斷開(kāi)撥號(hào)。
9.一種用戶端設(shè)備,其特征在于,包括: 第一封裝單元,用于將控制命令封裝在在發(fā)送給遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范RNDIS設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包中,所述控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制; 第一發(fā)送單元,用于將第一封裝單元封裝后的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給RNDIS設(shè)備,以對(duì)RNDIS設(shè)備進(jìn)行控制; 其中,所述控制命令為AT命令,所述網(wǎng)絡(luò)數(shù)據(jù)包為UDP數(shù)據(jù)包,使用所述UDP數(shù)據(jù)包封裝所述AT命令的數(shù)據(jù)包格式包括因特網(wǎng)頭部字段、國(guó)際協(xié)議頭部字段、UDP頭部字段、AT標(biāo)識(shí)字段和AT命令數(shù)據(jù)字段,所述AT標(biāo)識(shí)字段為自定義控制命令的標(biāo)識(shí)字段,所述AT命令數(shù)據(jù)字段為自定義控制命令的數(shù)據(jù)字段,所述因特網(wǎng)頭部字段中的目的媒體接入控制層地址為所述RNDIS設(shè)備的MAC地址或者廣播地址,所述國(guó)際協(xié)議頭部字段中的目的IP地址為所述RNDIS設(shè)備的IP地址或者廣播地址。
10.根據(jù)權(quán)利要求9所述的用戶端設(shè)備,其特征在于,還包括第一建立單元; 所述第一建立單元,用于建立與RNDIS設(shè)備的網(wǎng)絡(luò)通信端口 ; 貝U,所述第一封裝單元,具體用于在第一建立單元建立的網(wǎng)絡(luò)通信端口上的網(wǎng)絡(luò)數(shù)據(jù)包中封裝控制命令。
11.根據(jù)權(quán)利要求9或10所述的用戶終端設(shè)備,其特征在于,所述控制命令用于對(duì)RNDIS設(shè)備進(jìn)行控制,具體為,所述控制命令用于對(duì)所述RNDIS設(shè)備進(jìn)行撥號(hào)、解個(gè)人標(biāo)識(shí)號(hào)碼或斷開(kāi)撥號(hào)。
12.—種遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范RNDIS設(shè)備,其特征在于,包括: 第一接收單元,用于接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包,所述網(wǎng)絡(luò)數(shù)據(jù)包中封裝了用于對(duì)RNDIS設(shè)備進(jìn)行控制的控制命令; 第一解封裝單元,用于對(duì)第一接收單元接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解封裝,得到所述控制命令; 第一處理單元,用于根據(jù)第一解封裝單元得到的控制命令的指示執(zhí)行操作; 其中,所述控制命令為AT命令,所述網(wǎng)絡(luò)數(shù)據(jù)包為UDP數(shù)據(jù)包,使用所述UDP數(shù)據(jù)包封裝所述AT命令的數(shù)據(jù)包格式包括因特網(wǎng)頭部字段、國(guó)際協(xié)議頭部字段、UDP頭部字段、AT標(biāo)識(shí)字段和AT命令數(shù)據(jù)字段,所述AT標(biāo)識(shí)字段為自定義控制命令的標(biāo)識(shí)字段,所述AT命令數(shù)據(jù)字段為自定義控制命令的數(shù)據(jù)字段,所述因特網(wǎng)頭部字段中的目的媒體接入控制層地址為所述RNDIS設(shè)備的MAC地址或者廣播地址,所述國(guó)際協(xié)議頭部字段中的目的IP地址為所述RNDIS設(shè)備的IP地址或者廣播地址。
13.根據(jù)權(quán)利要求12所述的RNDIS設(shè)備,其特征在于, 所述第一接收單元,具體用于通過(guò)用戶端設(shè)備和RNDIS設(shè)備之間建立的網(wǎng)絡(luò)通信端口接收用戶端設(shè)備發(fā)送的網(wǎng)絡(luò)數(shù)據(jù)包。
14.根據(jù)權(quán)利要求12或13所述的RNDIS設(shè)備,其特征在于,所述控制命令用于對(duì)所述RNDIS設(shè)備進(jìn)行撥號(hào)、解個(gè)人標(biāo)識(shí)號(hào)碼或斷開(kāi)撥號(hào)。
【文檔編號(hào)】H04L12/46GK104038553SQ201410281671
【公開(kāi)日】2014年9月10日 申請(qǐng)日期:2010年9月21日 優(yōu)先權(quán)日:2010年9月21日
【發(fā)明者】張東鋒, 聶振輝 申請(qǐng)人:華為終端有限公司