国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

BlueTooth探索系列(四)--服務(wù)發(fā)現(xiàn)協(xié)議的用戶接口與應(yīng)用層

2019-11-18 16:19:40
字體:
供稿:網(wǎng)友
BlueTooth探索系列(四)---服務(wù)發(fā)現(xiàn)協(xié)議的用戶接口與應(yīng)用層

作者cleverpig


版權(quán)說明:可以自由轉(zhuǎn)載, 轉(zhuǎn)載請保留下面的作者信息:
作者 cleverpig(http://www.matrix.org.cn/blog/cleverpig)

3.用戶接口

1)結(jié)對(pairing)
SDP框架中沒有硬性要求結(jié)對。也就是說結(jié)過程對可以發(fā)生也可能不發(fā)生。在一個(gè)LocDev設(shè)備對周圍可連接的RemDev設(shè)備執(zhí)行服務(wù)發(fā)現(xiàn)時(shí),LocDev設(shè)備上的SrvDscApp應(yīng)該負(fù)責(zé)允許優(yōu)先結(jié)對或者旁路任何需要結(jié)對的設(shè)備。本框架只注重在LocDev建立一個(gè)合法且可用的基帶鏈路連接到RemDev后執(zhí)行服務(wù)發(fā)現(xiàn)的過程。
        
2)模式選擇
本框架假設(shè)在SrcDscApp的指揮下,LocDev設(shè)備應(yīng)該進(jìn)入查詢和(或者)呼叫狀態(tài),而對其它設(shè)備開放服務(wù)(例如打印服務(wù)、網(wǎng)絡(luò)數(shù)據(jù)獲取和處理服務(wù)、PSTN網(wǎng)關(guān)服務(wù))的RemDev設(shè)備應(yīng)該進(jìn)入查詢掃描和(或者)呼叫掃描狀態(tài)。而在藍(lán)牙的鏈路控制(Link Control)中強(qiáng)制規(guī)定了LocDev應(yīng)支持查詢和呼叫狀態(tài),而RemDev應(yīng)支持的查詢掃描狀態(tài)是可設(shè)置的設(shè)備策略,RemDev設(shè)備進(jìn)入可發(fā)現(xiàn)模式后查詢掃描狀態(tài)將被激活。RemDev的呼叫掃描狀態(tài)并沒有在Link Control強(qiáng)制規(guī)定。

因?yàn)镾rvDscApp可以對已連接的RemDev設(shè)備進(jìn)行服務(wù)查詢,而一個(gè)LocDev設(shè)備總是作為主設(shè)備去連接一個(gè)RemDev設(shè)備并沒有強(qiáng)制性的規(guī)定。同樣一個(gè)RemDev在不總是作為從設(shè)備出現(xiàn)在與一個(gè)LocDev的連接中。

4.應(yīng)用層
1)服務(wù)發(fā)現(xiàn)應(yīng)用
這里將討論SrvDscApp的可操作性框架結(jié)構(gòu)。下圖展示了SrvDscApp可能的框架。
BlueTooth探索系列(四)--服務(wù)發(fā)現(xiàn)協(xié)議的用戶接口與應(yīng)用層(圖一)

三種SrvDscApp的實(shí)現(xiàn)流程被顯示在上圖中,當(dāng)然這三種還不能覆蓋SrvDscApp實(shí)現(xiàn)的所有情況。SrvDscApp_A、SrvDscApp_B、SrvDscApp_C都實(shí)現(xiàn)了相同的目的,但是各自的遵循了不同的途徑:

SrvDscApp_A:首先在LocDev設(shè)備上的SrvDscApp獲取用戶提供的服務(wù)描述信息。然后SrvDscApp通過藍(lán)牙查詢過程查找周圍的設(shè)備,對于每個(gè)發(fā)現(xiàn)的設(shè)備,LocDev將連接它,并執(zhí)行必要的鏈路建立過程,我們可以從GAP(Gerneric access PRofile)文檔中發(fā)現(xiàn)更多的細(xì)節(jié),此后查詢被發(fā)現(xiàn)的設(shè)備上是否存在用戶所要的服務(wù)。

SrvDscApp_B:首先查詢設(shè)備,然后為服務(wù)查詢收集用戶輸入的信息,

注意:設(shè)備發(fā)現(xiàn)可能在SrvDscApp應(yīng)用啟動之前就已經(jīng)發(fā)生過了,但是由于沒有什么能保證設(shè)備發(fā)現(xiàn)已經(jīng)發(fā)生過,所以推薦SrvDscApp程序再進(jìn)行一次設(shè)備查詢。

SrvDscApp_C:在前兩個(gè)實(shí)現(xiàn)流程中,呼叫、鏈路建立、服務(wù)發(fā)現(xiàn)都是在每個(gè)RemDev設(shè)備上有序的jinxing著。LocDev在沒有完成前一個(gè)RemDev的服務(wù)查詢并斷開連接前不能進(jìn)行下一個(gè)新的RemDev的查詢。而SrvDscApp_C則不同于前兩種實(shí)現(xiàn),LocDev在SrvDscApp的控制下將呼叫所有的RemDev,然后建立與所有設(shè)備的鏈路(一次至多建立7個(gè)連接),查詢在所有連接設(shè)備上的用戶指定服務(wù)是否可用。

舉個(gè)例子,我們把上圖的SrvDscApp_A看作一個(gè)SrvDscApp,這個(gè)SrvDsvApp具有下面的特點(diǎn):

SrvDscApp根據(jù)用戶要求的某個(gè)特定服務(wù)查詢激活藍(lán)牙查詢,來尋找周邊的可連接的藍(lán)牙設(shè)備RemDev;

當(dāng)一個(gè)新的RemDev被發(fā)現(xiàn)后,SrvDscApp將完成服務(wù)發(fā)現(xiàn)并中斷與這個(gè)設(shè)備的連接,嘗試連接下一個(gè)RemDev;

當(dāng)RemDev都被連接好后,LocDev在這個(gè)連接上進(jìn)行服務(wù)發(fā)現(xiàn);

當(dāng)SrvDscApp執(zhí)行連接時(shí),SrvDscApp的用戶具用信任模式操作和非信任模式操作的選擇權(quán):
a)只與信任的RemDev連接;
b)除了與a中描述的設(shè)備連接外,附加上與新發(fā)現(xiàn)的RemDev連接,而這些RemDev服務(wù)任何的信息除了提供默認(rèn)的全零的PIN用于可能結(jié)對之用;
c)除了與a和b中描述的設(shè)備連接外,附加上符合用戶輸入的完整非零PIN的RemDev。

上面的選擇決定于將在配置時(shí)的用戶干預(yù)程度和用戶與SrvDscApp交互、設(shè)置用戶要求查詢的服務(wù)的安全級別的程度。在選擇a或者b時(shí),設(shè)備之間將建立不正統(tǒng)(未經(jīng)授權(quán)和加密)的連接,SrvDscApp將忽略這些信息不給用戶任何的暗示。
        
當(dāng)一個(gè)LocDev執(zhí)行一次服務(wù)發(fā)現(xiàn)查詢時(shí),它將面對下面的三種類型的RemDev:
1.信任設(shè)備:設(shè)備當(dāng)前沒有與LocDev連接,但是LocDev已經(jīng)與它建立信任關(guān)系;
2.未知(新)設(shè)備:不可信任的設(shè)備,當(dāng)前沒有和LocDev連接;
3.已連接設(shè)備:已經(jīng)與LocDev連接的設(shè)備。

為了發(fā)現(xiàn)第1或第2種RemDev,SrvDscApp需要激活藍(lán)牙查詢和(或者)呼叫進(jìn)程。為了發(fā)現(xiàn)第3種RemDev,無論通過藍(lán)牙查詢進(jìn)程這些設(shè)備是否被定為或者已經(jīng)與LocDev設(shè)備連接,SrvDscApp需要訪問在LocDev設(shè)備周邊設(shè)備的BD_ADDR。這樣BT_module_Cntr(藍(lán)牙控制模塊)應(yīng)該維護(hù)一個(gè)LocDev周圍設(shè)備的列表,并提供這個(gè)列表來幫助SrvDscApp工作。

2)服務(wù)基本構(gòu)成體的抽象
這部分主要描述SrvDscApp的功能性。SrvDscApp的功能性是用一套完整的定義了用戶所期望的SrvDscApp框架表示的。當(dāng)然,這里假設(shè)了SrvDscApp所依靠的藍(lán)牙堆??梢灾苯踊蛘唛g接地實(shí)現(xiàn)這些服務(wù)基本構(gòu)成體抽象所達(dá)到的目標(biāo)。而“直接”的意思是指被定義的功能直接使用了藍(lán)牙堆棧實(shí)現(xiàn)中的某個(gè)調(diào)用,“間接”是指被定義的功能使用了多個(gè)藍(lán)牙堆棧實(shí)現(xiàn)中的調(diào)用來完成它的目標(biāo)。服務(wù)基本構(gòu)成體抽象的精確語法和語義具有平臺(例如一個(gè)操作系統(tǒng)、一個(gè)硬件平臺、筆記本、蜂眼電話等)依賴性,這些超出了SDP框架的范圍。但是這些基本構(gòu)成體的功能被期望對SrvDscApp完成它的任務(wù)有所幫助。下面的表格包含了一個(gè)能夠支持SrvDscApp的最小服務(wù)基本構(gòu)成體的集合。至于低級別的基本構(gòu)成體如openSearch()或者closeSearch()等都作為上面的基本構(gòu)成體的一部分沒有顯示在下面的表格中。藍(lán)牙堆棧的不同實(shí)現(xiàn)至少應(yīng)該具備這些服務(wù)基本構(gòu)成體。

例如,serviceSearch()服務(wù)基本構(gòu)成體同時(shí)使用了多個(gè)藍(lán)牙堆棧中單獨(dú)的操作。也就是說,一個(gè)應(yīng)用程序需要一個(gè)藍(lán)牙堆棧實(shí)現(xiàn),這個(gè)堆棧被應(yīng)用程序調(diào)用來完成由多個(gè)獨(dú)立的操作組合體反復(fù)調(diào)用所構(gòu)成的功能,所以這個(gè)由多個(gè)獨(dú)立的操作組合體反復(fù)調(diào)用所構(gòu)成的功能就使服務(wù)基本構(gòu)成體具備了功能。即使本框架中提供的這些服務(wù)基本構(gòu)成體被假設(shè)作用于一個(gè)訪問物理的遠(yuǎn)程設(shè)備,而這里的“遠(yuǎn)程設(shè)備”只是一個(gè)邏輯設(shè)備,如:被查詢服務(wù)記錄的、提供服務(wù)的是調(diào)用這些服務(wù)基本構(gòu)成體的同一個(gè)設(shè)備。一個(gè)服務(wù)基本構(gòu)成體只顯示下一個(gè)使用藍(lán)牙協(xié)議以無線交換數(shù)據(jù)為結(jié)果或者與無線交換數(shù)據(jù)相關(guān)的服務(wù)基本構(gòu)成體之間的關(guān)系。附加的服務(wù)基本構(gòu)成體能夠被想象為與單純的本地操作(如服務(wù)注冊)相關(guān),但這些基本構(gòu)成體已經(jīng)超越了SDP框架的范疇。

BlueTooth探索系列(四)--服務(wù)發(fā)現(xiàn)協(xié)議的用戶接口與應(yīng)用層(圖二)

上表為SrvDscApp所支持的服務(wù)構(gòu)成體列表。

注意:每個(gè)服務(wù)構(gòu)成體的調(diào)用都被看作是一次primitiveHandle。

上面的stopRule參數(shù)被用于保證一次服務(wù)查詢的完美終止,它表示查詢過程所花費(fèi)的時(shí)間。作為一個(gè)藍(lán)牙堆棧的實(shí)現(xiàn),不能暴露這個(gè)參數(shù),因?yàn)樗峁┝藢λ胁樵兘K止的保證。

enumerateRemDev(.)這個(gè)服務(wù)構(gòu)成體直接關(guān)系到了查詢模式,而且也關(guān)系到了一個(gè)LocDev所連接的RemDev的集合。這個(gè)服務(wù)通過BT_module_Cntr導(dǎo)出到SrvDscApp中。它在BT_module_Cntr和基帶之間激活藍(lán)牙查詢并收集查詢的結(jié)果集。而且它位于BT_module_Cntr和L2CAP之間,跟蹤著每一個(gè)當(dāng)前被LocDev連接的RemDev。

enumerateRemDev(.)的結(jié)果被用在serviceSearch(.)中用來在被發(fā)現(xiàn)的設(shè)備上查詢特定的服務(wù),這個(gè)服務(wù)基本構(gòu)成沒有被藍(lán)牙堆棧實(shí)現(xiàn)明確的提供,但它已經(jīng)融入到了其它的服務(wù)基本構(gòu)成中(如serviceSearch(.))。

3)消息隊(duì)列圖表(message SEQUENCE CHARTS,簡稱MSCS)
本框架關(guān)系到三個(gè)藍(lán)牙過程:設(shè)備發(fā)現(xiàn)、設(shè)備名稱發(fā)現(xiàn)、服務(wù)發(fā)現(xiàn)。它們中的任意一個(gè)都不預(yù)包含另外一個(gè);例如:為了連接一個(gè)RemDev,一個(gè)LocDev必須先發(fā)現(xiàn)這個(gè)設(shè)備,當(dāng)然也可以詢問它的設(shè)備名稱。

下圖羅列了本框架執(zhí)行過程中所發(fā)生的關(guān)鍵信息交換過程。不是所有的過程都能夠涉足,不是所有的設(shè)備都經(jīng)過這些過程。例如如果認(rèn)證不需要,下圖的認(rèn)證過程就不執(zhí)行。如果SrvDscApp需要去查詢LocDev所連接的某個(gè)特定RemDev上的服務(wù),查詢和呼叫將不執(zhí)行。下圖中對于每個(gè)過程都提供了其執(zhí)行的條件。

BlueTooth探索系列(四)--服務(wù)發(fā)現(xiàn)協(xié)議的用戶接口與應(yīng)用層(圖三)
SDP框架支持的藍(lán)牙處理過程表圖進(jìn)入討論組討論。

(出處:http://m.survivalescaperooms.com)



發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 德化县| 营口市| 平度市| 三台县| 汾西县| 仙桃市| 康马县| 木兰县| 开化县| 璧山县| 平乐县| 利津县| 辽宁省| 九龙城区| 通辽市| 清丰县| 横峰县| 齐齐哈尔市| 论坛| 德昌县| 清水县| 青岛市| 永城市| 长武县| 会宁县| 扬州市| 长葛市| 武义县| 赣州市| 孝感市| 南康市| 行唐县| 南溪县| 涪陵区| 洛阳市| 米林县| 景谷| 三河市| 苏尼特右旗| 茌平县| 潢川县|