在一个连接间隔内,无论是从设备还是主设备发送的数据包(LE_DATA)是否存在数量限制?
如果存在限制,是否有任何特定条件适用于此限制(例如仅限于x个ATT数据包)?
是否根据规范要求或允许主/从设备施加此类限制?
在一个连接间隔内,无论是从设备还是主设备发送的数据包(LE_DATA)是否存在数量限制?
如果存在限制,是否有任何特定条件适用于此限制(例如仅限于x个ATT数据包)?
是否根据规范要求或允许主/从设备施加此类限制?
(希望我没有唤起一个已经过时的帖子。但我认为4.5.1节比4.5.6节更适合回答这个问题。)
规范没有定义数据包的限制,只是说明了以下内容:
4.5.1 连接事件 - 蓝牙规范版本4.2 [卷6,B部分]
(...)
连接事件的开始被称为基准点。在基准点,主设备开始向从设备传输数据通道PDU。连接事件的开始以connInterval时间间隔定期间隔,并且不应重叠。 主设备应确保连接事件至少在下一个连接事件的基准点之前T_IFS关闭。从设备会在基准点监听其主设备发送的数据包。
T_IFS 是“帧间距”时间,应为150微秒。简单来说,解决这个问题是主设备的工作。据我所知,例如iOS将每次连接事件的数据包数量限制为4个。根据操作系统版本,Android可能有其他硬编码限制。
每个CI能够承载的数据包数量受数据速率限制,正如@morynicz所提到的,还受MTU等因素影响。