如何通过每个连接间隔发送超过1个数据包来最大化iOS上BLE的吞吐量?
在iOS上,如何能够在每个连接间隔向蓝牙LE(BLE)设备发送超过1个数据包 我正在从iOS[iPhone6和iOS 10.3]连接到。我读过类似threads的文章,并实现了如下代码:如何通过每个连接间隔发送超过1个数据包来最大化iOS上BLE的吞吐量?,ios,bluetooth-lowenergy,core-bluetooth,Ios,Bluetooth Lowenergy,Core Bluetooth,在iOS上,如何能够在每个连接间隔向蓝牙LE(BLE)设备发送超过1个数据包 我正在从iOS[iPhone6和iOS 10.3]连接到。我读过类似threads的文章,并实现了如下代码: 连接到设备 获取适当的写入特征 获取WithoutResponse(157)的外围设备最大写入长度 创建157字节的数据包 然后使用Write Without Response通过外围设备的WriteValue方法发送数据包 如果我只写完整的blast,iOS会在大约20个数据包后停止发送数据。如果我在每4个数
谢谢 如果您在断开中央和外围设备的连接时遇到问题,我建议使用write with response,并在写入数据后,在成功从外围设备接收回调时发送第二组数据。如果您专注于提高吞吐量,那么这比在4个数据包之后等待150毫秒要好 此外,iOS将通过外围设备调整MTU大小,以在一个连接中发送最大可能的数据包。[这是我使用iPhone(中央应用程序)和Linux/Android(外围应用程序)所做的实验]。在连接Xiomi A1时,MTU根据iPhone应用程序对外围设备的要求调整为185。但是,您不能通过编程为MTU大小指定自定义值,因为用于编辑MTU的API是私有的,并且对公共API是隐藏的 以iPhone8为中心,Android以BLE4.2为外围设备,我们可以实现每秒2.5千字节的吞吐量