Bluetooth 蓝牙协议(RFCOMM、L2CAP和ACL)
从我从Bluetooth Essentials for Programmer中读到的内容来看,这本书提到了一些我不太理解的要点 RFCOMM是一种可靠的基于流的协议。 L2CAP是一种基于数据包的协议,可以配置不同级别的可靠性 L2CAP实际上是RFCOMM的传输协议,因此每个RFCOMM连接实际上都封装在L2CAP连接中。 这让我很困惑,因为这两个协议是不同类型的协议(一个是基于流的,另一个是基于包的)。根据它的解释,我有以下几个问题Bluetooth 蓝牙协议(RFCOMM、L2CAP和ACL),bluetooth,android-bluetooth,rfcomm,l2cap,Bluetooth,Android Bluetooth,Rfcomm,L2cap,从我从Bluetooth Essentials for Programmer中读到的内容来看,这本书提到了一些我不太理解的要点 RFCOMM是一种可靠的基于流的协议。 L2CAP是一种基于数据包的协议,可以配置不同级别的可靠性 L2CAP实际上是RFCOMM的传输协议,因此每个RFCOMM连接实际上都封装在L2CAP连接中。 这让我很困惑,因为这两个协议是不同类型的协议(一个是基于流的,另一个是基于包的)。根据它的解释,我有以下几个问题 既然RFCOMM连接是封装的,那么串行端口配置文件(SPP
感谢您的解释。封装可能在“设备”驱动程序级别,因此对您来说是不可见的,就像您从未“创建”过以太网数据包,但您仍然能够以本机方式使用TCP/IP,为什么?同样,RFCOMM使用L2CAP,但这并不意味着您需要知道L2CAP才能使用
通常,当您不想与其他事情发生冲突时,会使用封装,在这种情况下,他们不想与信令问题发生冲突,RFCOMM用于串行接口,因此他们不想处理串行接口的信令问题该站点是为编码人员而设,而不是您在这里提出的问题类型,这些问题不坏,只是不适合。谢谢。我认为这些问题也与蓝牙程序员有关。如果你能解释上面的问题,那就太好了。封装可能是在“设备”驱动程序级别,所以它对你来说是不可见的,就像你从来没有“创建”过以太网数据包,但你仍然能够以本机方式使用TCP/IP,为什么?同样的,RFCOMM使用L2CAP,但并不意味着你需要知道L2CAP才能使用OK,你的意思是程序员只需要创建RFCOMM,我们不需要知道RFCOMM是封装在L2CAP中的。谢谢你的解释。根据你提到的和我从书中读到的,我不明白为什么RFCOMM需要封装在L2CAP中。比如说SPP,这可以纯粹使用RFCOMM连接。这种封装有什么好处?通常当你不想与其他东西发生冲突时,使用封装,在这种情况下,他们不想与信令问题发生冲突,RFCOMM用于串行接口,因此他们不想处理串行接口的信令问题,你介意再举一个例子说明为什么需要封装吗?你能详细解释一下吗?谢谢。回答得好@nrathaus。OOP封装了所有类型的东西,并且该类使机制不透明。您甚至可以让同一类的两个对象通信一个协议,而不必看到底层协议在运行,但可以利用派生服务。