ant*_*é75 3 mtu ios bluetooth-lowenergy
我目前正在iOS中开发一个BLE应用程序.在我的应用程序中,我需要实现一个分段协议来使用BLE发送大数据.我的应用程序需要具有Central角色.
我的问题是我无法获得谈判MTU.我可以得到我的外围设备的maximumWriteValueLength,但它比我的更大,并且找不到我的中心对象的maximumWriteValueLength.
有人知道找到协商MTU的方法或访问我的CBCentralManager的CBCentral对象的方法吗?
小智 7
iOS在连接时自动启动MTU交换.
运行iOS <10的设备将请求MTU大小为158.运行iOS 10的较新设备将请求MTU大小为185.
假设您连接的设备支持这些尺寸,那就是您应该看到的.
您应该能够通过查看maximumUpdateValueLength属性来确定协商的最大有效负载大小CBCentral.(注意,这将比ATT MTU小3个字节,因为这是ATT通知/指示的开销)
我会为有同样问题的人解答。
目前(2017 年 2 月)iPhone 的外围设备 MTU 始终为 158。所以我在简短的解决方案中发现(只是为了做一些测试)是将中央 MTU 与 158 进行比较并取较小的一个。对于更稳定的外设解决方案,会将 MTU 大小写入特定特征中,我将在连接后读取该特征。
| 归档时间: |
|
| 查看次数: |
3116 次 |
| 最近记录: |