美文网首页
蓝牙学习-SDP

蓝牙学习-SDP

作者: 集韵增广 | 来源:发表于2022-05-05 11:47 被阅读0次

SDP - Service Discovery Protocol

SDP协议提供服务声明和发现远端蓝牙服务。

SDP的服务能力

1,SDP提供的方法

SDP Client方法:
  sdp_client_init
  sdp_client_ready
  sdp_client_register_query_callback
  sdp_client_query
  sdp_client_query_uuid16
  sdp_client_query_uuid128
  sdp_client_service_attribute_search
  sdp_client_service_search
  sdp_client_parse_service_record_handle_list
  sdp_client_deinit

SDP Server方法:
  sdp_init
  sdp_register_service
  sdp_unregister_service
  sdp_get_service_record_handle
  sdp_create_service_record_handle
  sdp_get_record_for_handle
  sdp_deinit

创建和声明SDP记录

SDP记录是一个SDP属性{ID,Value}的列表,这些记录都存在DES(Data Element Sequence)里。属性ID是16bit,属性Value可以是整形,字符串型或者包括另外一个DES。比如若要创建一个SPP记录,调用spp_create_sdp_record,传入一个内存指针来存储这个记录,服务的channle号和记录的名字。创建完不同的SDP记录后,通过sdp_register_service将其们存储在蓝牙协议栈的动态内存中。

注意:SDP记录需要是全局变量,他被蓝牙协议栈一直保存在内存中,所以不能中途被释放。

查询远端的SDP服务内容

通过SDP客户端可以查询远端的蓝牙SDP服务。sdp_client_query创建一个L2CAP链路至远端蓝牙设备。建立连接后,一个Service Search Attribute的请求协同一个Service Search Pattern和Attribute ID List会从客户端发给服务端。服务端会根据请求的属性返回SDP的服务记录列表。这个服务记录列表会被客户端进行解析,解析方法会通过注册的回调发出SDP_PARSER_ATTRIBUTE_VALUE(这个消息会传出属性对应的值)和SDP_PARSER_COMPLETE消息。具体发现步骤如下:

1,蓝牙设备初始化
2,蓝牙协议栈初始化
3,HCI启动
4,等全部启动完毕,蓝牙协议栈查寻远端设备的RFCOMM服务名称和通道号,sdp_client_query_rfcomm_channel_and_name_for_uuid

相关文章

  • 蓝牙学习-SDP

    SDP - Service Discovery Protocol SDP协议提供服务声明和发现远端蓝牙服务。 SD...

  • SDP 软件定义边界

    3.3.1 SDP 控制器(Controller)SDP 控制器确定哪些 SDP 主机可以相互通信。SDP 控制器...

  • WebRTC中的SDP

    SDP简介 在WebRTC的通信过程中,SDP是其中重要的协议。SDP(Session Description P...

  • 音视频学习笔记-SDP

    音视频学习笔记-SDP ​ SDP 是会话描述协议, 它用文本描述各端的能力. 如各端多支持的音频编解码器是什...

  • SDP学习展示汇报

    五天的村小老师成长培训即将结束,感激、不舍、激动等各种情绪,各种感受,我都想一吐为快。分享我的所见,装满收获,准备返程。

  • 【Objective-c】_蓝牙开发

    ios蓝牙开发学习笔记(一)蓝牙概述 ios蓝牙开发学习笔记(二)central角色的实现 ios蓝牙开发学习笔记...

  • iOS webRTC SDP介绍及设置

    今天说说webRTC中的Session Description Protocol (SDP,会话描述协议)。SDP...

  • SDP: Session Description Protoco

    SDP 本身 介绍 SDP(Session Description Protocol)会话描述协议,提供一个标准的...

  • SDP协议

    SDP协议介绍 SDP全称是Session Description Protocol,翻译过来就是描述会话的协议。...

  • WebRTC之SDP协议

    什么是SDP SDP(Session Description Protocol) 是一种会话描述协议,基于文本,其...

网友评论

      本文标题:蓝牙学习-SDP

      本文链接:https://www.haomeiwen.com/subject/qwssyrtx.html