在 BLE 中,Blob 请求的偏移量是否超过 512?



如果我在android(服务器(中有一个包含900个字符(900字节(的长属性。当我试图通过计算机(客户端(的读取Blob请求读取该属性时,偏移量从0开始增加22。(0,22,44…512(,Blob响应将相应发送。但是,即使属性(特性(仍有数据要读取,我也看不到534。我想了解1(这是BLE的最大限制吗?2(如何从相同的特性一次性发送剩余数据。

属性值的最大长度为512字节。这就是为什么不可能读取超过这个偏移量的内容。如果你试图为Characteristic分配比允许的值更大的值,那么一个合适的蓝牙堆栈应该会抱怨,但Android。。好是安卓系统。。。

所以你不能读那些";额外字节";超过偏移512,因为它们不存在。

如果你谈判一个更大的MTU,你可以一口气阅读更大的部分。如果您将其设置为517,您总是可以在一笔交易中使用任何GATT程序读取最大大小的值。

最新更新