从我从《 Bluetooth Essentials for程序员》中读到的内容中,这些书提到了一些我不太了解的要点。

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

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

这真的让我感到困惑,因为这两种协议是不同类型的协议(一种是基于流,另一种是基于数据包)。因此,根据其解释,以下是一些问题。


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


感谢您的任何解释。

最佳答案

封装可能在“设备”驱动程序级别,因此您将看不见它,就像您从未“创建”以太网数据包一样,但是您仍然能够原生使用TCP / IP,怎么回事?同样,RFCOMM使用L2CAP,但这并不意味着您需要知道要使用L2CAP。

通常,当您不想麻烦其他事情时使用封装,在这种情况下,他们不想麻烦信令问题,RFCOMM用于串行接口,因此他们不想处理信令问题。串行接口

关于bluetooth - 蓝牙协议(protocol)(RFCOMM,L2CAP和ACL),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20868038/

10-09 05:25