【发布时间】:2017-05-17 22:01:19
【问题描述】:
我正在尝试根据 OnCharacteristicWrite 回调条件同步写入下一个数据包以实现最大吞吐量。但由于某种原因,它会在 1-2 秒后的初始阶段停止触发 OnCharacteristicWrite 回调,即使我重新发送数据包,它也不会被调用。如果我添加每个数据包的延迟效果很好,但我不想添加任何延迟来实现最大吞吐量。
有什么方法可以在不增加任何延迟的情况下实现最大吞吐量?
每个连接间隔发送多个数据包的确切含义是什么(有什么方法可以通过外围设备实现)?
【问题讨论】:
-
你有什么安卓设备/操作系统版本?
-
Android 4.4.2 kitkat
-
@Emil 我的 BLE 版本也是 4.2。但我不知道如何在每个 conn 间隔发送多个数据包。我根据每个数据包收到 onCharacteristicWrite 回调的时间一个一个发送数据包。但是在一段时间后(在大约 300 个数据包的 onCharacteristicWrite 回调状态为 0 成功之后),回调突然停止并且即使在数据包重新发送时也不会被触发。因此,我在两个数据包之间添加了 8 毫秒的延迟,它成功写入了所有数据包,回调状态为 0,但这实际上降低了吞吐量。有没有更好的方法来实现这个?
-
@Emil Android 4.4.2 kitkat
-
@Emil 我的 Gatt WriteCharacteristic 函数在我发送任何数据包时返回布尔值 true。这个返回true和每个包发送后OnWriteCharacteristic Callback status -0success有什么区别??
标签: bluetooth bluetooth-lowenergy android-ble rxandroidble bluetooth-lowenergy-4.2