我試圖根據OnCharacteristicWrite回調條件同步寫入下一個數據包以實現最大吞吐量。但由於某種原因,它會在1-2秒的時間後在非常初始時停止觸發OnCharacteristicWrite回調,即使我重新發送數據包,它也永遠不會被調用。如果我爲每個數據包添加延遲,但是我不想添加任何延遲來實現最大吞吐量,那麼它工作得很好。Android BLE回調OnWriteCallback在幾秒後停止
有什麼辦法可以在不增加任何延遲的情況下實現最大吞吐量?
另外,每個連接間隔究竟發送多個數據包意味着什麼(以及是否有任何方法可以通過外設實現)?
你有什麼Android設備/操作系統版本? – Emil
Android 4.4.2 kitkat –
@Emil我的BLE版本是4.2。但我沒有得到如何發送每conn間隔多個數據包。根據每個數據包收到onCharacteristicWrite回調的時間,我正在逐個發送數據包。但是經過一段時間(約300個onCharacteristicWrite回調狀態0成功的數據包之後),回調突然停止,即使在數據包重發時也不會觸發。所以我在兩個數據包之間添加了一個8ms的延遲,它將所有數據包成功寫入回調狀態爲0,但這實際上降低了吞吐量。有沒有更好的方法來實現這一點? –