如何使用RxBluetoothKit链接多个蓝牙访问以写入大数据?

时间:2019-03-14 07:12:21

标签: ios swift bluetooth core-bluetooth rx-swift

我想写入100KB以上的文件数据,因此我需要分割数据并重复写入BLE(超过8000次)。 我想像这样链接: 写入数据(带有响应)->获取响应->写入数据(带有响应)-> ...

如何确保每次写访问的顺序(或以下代码确保顺序)?

我当前的代码如下:

for index in stride(from: 0, to: data.count, by: maximumDataLength) {
    let endIndex = (index + maximumDataLength <= data.count) ? (index + maximumDataLength - 1) : (data.count - 1)

    let disposable = p.writeValue(data.subdata(in: startIndex ..< endIndex + 1), for: BLECharacteristic.otaData, type: .withResponse).asObservable()
    .take(1)
    .subscribe(onNext: { char in
    }, onError: { error in
    }, onCompleted: {
    }, onDisposed: {
    })
}  

0 个答案:

没有答案