我正在使用CBCharacteristicWriteWithResponse
(使用BGLib的BLE112)向外设写入/发送40个字节。我原本预计它将以两个20字节的块到达。
相反,它到达三个街区18,18& 4。
知道为什么我会看到这种行为吗?
答案 0 :(得分:1)
连接后我一直在嗅探初始交换。
通过ATT_Exchange_MTU_Req,iDevice表示它可以支持135字节的MTU! (0x0087)然后BLE112以23字节的ATT_Exchange_MTU_Rsp响应。 iOS会记住并使用此值作为未来通信的基础(ATT_Exchange_MTU_Req / Rsp的整点)
在BTSpec4.0.pdf部分3.4.6.1准备写请求中,它说部件属性值有ATT_MTU-5 = 23 - 5 =要使用的18个字节包含值的一部分。
如果BLE大师@ Apple确认这是合理的,那么这是正确的。