蓝牙协议(RFCOMM,L2CAP和ACL)

问题描述 投票:14回答:1

从我从Bluetooth Essentials for Programmers中读到的内容,这本书提到了一些我不太了解的观点。

RFCOMM是一种可靠的基于流的协议。 L2CAP是一种基于数据包的协议,可以配置不同级别的可靠性。

L2CAP实际上充当RFCOMM的传输协议,因此每个RFCOMM连接实际上封装在L2CAP连接中。

这真的让我困惑,因为这两个协议是不同类型的协议(一个是基于流的,而另一个是基于分组的)。所以基于它的解释,我在下面有一些问题。

  1. 由于RFCOMM连接是封装的,那么串口配置文件(SPP)如何使用RFCOMM连接?它也应该使用L2CAP。
  2. A2DP使用L2CAP连接。这对我来说意味着相同,因为L2CAP和RFCOMM封装在ACL连接中,这是否意味着A2DP使用ACL连接?我知道这是不正确的但是如何解释这里。

谢谢你的解释。

bluetooth android-bluetooth rfcomm l2cap
1个回答
8
投票

封装可能处于“设备”驱动程序级别,因此它对您来说是不可见的,就像您从未“创建”以太网数据包一样,但您仍然能够本地使用TCP / IP,为什么呢?同样的事情,RFCOMM使用L2CAP,但并不意味着你需要知道L2CAP才能使用。

通常封装是在你不想麻烦别人的时候使用的,在这种情况下他们不想麻烦信号问题,RFCOMM用于串口,所以他们不想处理信令问题串行接口

© www.soinside.com 2019 - 2024. All rights reserved.