根据我从《程序员蓝牙基础知识》中读到的内容,这本书提到了一些我不太理解的地方。
RFCOMM是一种可靠的基于流的协议。L2CAP是一种基于分组的协议,可以配置不同级别的可靠性。
L2CAP实际上充当RFCOMM的传输协议,因此每个RFCOMM连接实际上都封装在L2CAP连接中
这真的让我很困惑,因为这两种协议是不同类型的协议(一种是基于流的,另一种是分组的)。因此,根据它的解释,我在下面有一些问题。
-
既然RFCOMM连接是封装的,那么串行端口配置文件(SPP)如何使用RFCOMM的连接?它也应该使用L2CAP。
-
A2DP使用L2CAP连接。这对我来说是一样的,因为L2CAP和RFCOMM封装在ACL连接中,这是否意味着A2DP使用ACL连接?我知道这是不正确的,但如何在这里解释。
谢谢你在这里的解释。
封装可以在"设备"驱动程序级别,所以它对你来说是不可见的,就像你从未"创建"过以太网数据包,但你仍然可以在本地使用TCP/IP,为什么?这里相同的是,RFCOMM使用L2CAP,但这并不意味着您需要知道L2CAP才能使用。
通常封装是在你不想麻烦其他事情的时候使用的,在这种情况下,他们不想麻烦信令问题,RFCOMM用于串行接口,所以他们不想处理串行接口的信令问题