ble的notification和indication的區別和聯系


Ble服務端傳輸消息有兩個常用手段,notification和indication。那么這兩者之間有什么區別呢?

Notification 不需要應答,所以服務端發送的消息,它自己並不知道消息是否發送成功。

Indication 需要客戶端應答,每次服務端發送完數據都需要客戶端發送應答消息。其中有一點很重要,如果你發送的

indication客戶端沒有應答,你是不能再次發送indication的

需要注意的是,服務端一開始是無法直接發送Indication和Notification。首先必須是客戶端通過往服務端的CCCD特征(clinet characteristic configuration descriptor)

寫入值來使能服務端的這兩個功能Notification/Indication,這樣服務端才能發送。這也是為什么我們在看服務端的profile時候是有cccd特征的原因。

總結一下,Notification是一種不可靠傳輸,indication則是可靠傳輸。但是可靠傳輸意味着傳輸數據的速率降低,開發ble程序如果對數據可靠性要求不是很高的情況下就使用Notification吧。

 

 

參考信息:

1 https://www.nxpic.org.cn/module/forum/thread-622329-1-1.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM