蓝牙套接字概述

目的

发现其他蓝牙设备,并通过蓝牙读写数据。

在通过蓝牙建立通信频道中有两个角色:发起方和接受方。接受方进行配置后等待发起方建立连接。一旦连接建立,两方是对等的,都可以发送或接受数据。这个API可以在两方进行编程。

结构关系

蓝牙套接字API支持在L2CAP和RFCOMM层上的通信。API基于客户端套接字API,客户端套接字API是允许客户端和远程设备连接或者让远程设备连接自身,并在断开前发送和接收数据标准API。蓝牙套接字API中还为蓝牙的应用加入了适当的类型和常量

描述

API有五个关键的概念:套接字地址,远程设备询问,RFCOMM命令和选项,L2CAP命令和HCI命令

套接字地址

每个蓝牙设备都有一个唯一的48位地址,封装在TBTDevAddr。

套接字API通过TSockAddr封装了一个泛化的通信终点,而蓝牙则提供了一个专门的版本TBTSockAddr,里面添加了蓝牙设备地址。

远程设备质询

客户端能通过RHostResolver询问远程设备是否可用。一个TinquirySockAddr类型的参数用来提供这样地询问:主要是用来限制对设备细节类的发现。

命令和选项

我们能够通过调用RSocket::Ioctl()发送命令到一个RFCOMM套接字。套接字的选项则能够分别通过Rsocket::GetOpt()和Rsocket::SetOpt()来设置。

通过Rsocket::Ioctl(),我们能发送命令到L2CAP套接字和HCI层。 

你可能感兴趣的:(编程,api)