Bluetooth協議棧學習之SDP

2021-09-07 20:31:23 字數 1418 閱讀 8485

服務發現協議(sdp或bluetooth sdp)在藍芽協議棧中對藍芽環境中的應用程式有特殊的含意,發現哪個服務是可用的和確定這些可用服務的特徵。sdp定義了bluetooth client發現可用bluetooth server服務和它們的特徵的方法。這個協議定義了客戶如何能夠尋找基於特定屬性的服務而不讓客戶知道可用服務的任何知識。sdp提供發現新服務的方法,在當客戶登入到正在操作的藍芽伺服器的乙個區域時是可用的時。

sdp提供了一套sdp server和sdp client之間的通訊方法。 sdp server維護著乙個服務條目列表,這個列表存放著sdp server對應的服務以及服務特性。每個服務條目對應乙個單獨的服務。sdp client可以通過傳送請求得到sdp server維護的這個服務條目list.

如果sdp client或者聯絡於client之上的應用程式決定使用某個service,則開啟乙個針對此服務的連線到服務提供者去使用此服務。sdp只是提供偵測service以及特性的方法,但不提供如何使用這些service的方法.

每個bluetooth device最多有乙個sdp server. 如果某個device只作為client.則不需要擁有sdp server.而乙個bluetooth device可以同時為sdp client和sdp server.

服務條目(service record):

乙個service就是某個實體提供一些資訊,執行某種動作,或控制資源代表另乙個實體。乙個service可以由軟體,硬體或軟硬體結合提供。

sdp server維護的service條目包含在service record中。

sdp server中,每個service record由乙個32位數與別的record區別。注意,只是在這個sdp server內。

當sdp server新增或刪除某個service時,不會主動提供給client.

service 屬性:

每個屬性描述乙個service的特徵。

service屬性包含兩部分:

attribute id + attribute value.

屬性id是乙個16bit的值,用來和service record內的其它屬性區別開來。

service class:

每個server是 service class的乙個例項。service class定義了service(此class的例項)的每個特性。屬性對應attribute id,屬性value的格式,

每個service classs也指定為乙個的識別符號。這個識別符號被包含在屬性serviceclassidlist中。並描述為uuid。

search for service:

service search功能允許sdp client得到包含在service record 中的service 屬性。

可以使用屬性的universally unique identifiers1 (uuids)得到屬性。

BlueTooth 藍芽Bluz協議棧概述

藍芽技術是一項新興的技術。它的主要目的就是要在全世界範圍內建立乙個短距離的無線通訊標準 它使用 2.4 2.5 ghz的 ism industrion scientifc medical 頻段來傳送話音和資料。運用成熟 實用 先進的無線技術來代替電纜,它提供了低成本,低功耗的無線介面,使所有的固定和...

TCP IP協議棧 之 TCP協議

1 tcp的特點 2 tcp資料格式 tcp在ip協議的基礎上進行傳輸資料,tcp資料在ip報文中的位置如下 ip頭部 20位元組 tcp頭部 20字 tcp資料 tcp報文包含頭部和資料兩部分,其資料格式如下 源埠號 16位 目的埠號 16位 序列號 32位 確認號 32位 頭部長度 4位 保留 ...

TCP IP協議棧 之 UDP協議

udp是一種基於ip協議的不可靠傳輸協議,在ip資料的位置如下 ip頭部 20位元組 udp頭 8位元組 udp資料 udp協議是tcp ip的傳輸協議的一部分,與tcp的傳輸不一樣,它提供無連線的 不可靠的傳輸服務。udp協議把應用程式需要傳遞的資料傳送出去,不提供傳送資料報的順序 接收方不向傳送...