从我从Bluetooth Essentials for Programmers中读到的内容,这本书提到了一些我不太了解的观点。
RFCOMM是一种可靠的基于流的协议。 L2CAP是一种基于数据包的协议,可以配置不同级别的可靠性。
L2CAP实际上充当RFCOMM的传输协议,因此每个RFCOMM连接实际上封装在L2CAP连接中。
这真的让我困惑,因为这两个协议是不同类型的协议(一个是基于流的,而另一个是基于分组的)。所以基于它的解释,我在下面有一些问题。
谢谢你的解释。
封装可能处于“设备”驱动程序级别,因此它对您来说是不可见的,就像您从未“创建”以太网数据包一样,但您仍然能够本地使用TCP / IP,为什么呢?同样的事情,RFCOMM使用L2CAP,但并不意味着你需要知道L2CAP才能使用。
通常封装是在你不想麻烦别人的时候使用的,在这种情况下他们不想麻烦信号问题,RFCOMM用于串口,所以他们不想处理信令问题串行接口