将 iOS BLE MTU 大小更改为 512 (SWIFT)

问题描述

有什么方法可以将 iOS 上的 MTU 值从认值更改为任意值?

很像在 Android 中,可以执行 requestMTU(512)。

谢谢

解决方法

否,iOS 上的 MTU 是自动设置的,最大值为 185。这是对您问题的一个很好的回答:https://stackoverflow.com/a/42336001/10380092

注意:您可以通过这种方式获取 MTU 值(它将比 ATT MTU 少 3 个字节):

connectedPeripheral.maximumWriteValueLength(for: .withoutResponse)

使用参数 .withoutResponse 很重要,因为 .withResponse 总是会返回 512(当写有响应时,iOS 会自动选择方法:如果数据比 MTU 短则单次写入,或者如果数据是排队写入大于 MTU)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...