Проблема чтения внешнего аксессуара
Мне нужно периодически получать данные через внешний аксессуар BlueTooth.
Я реализовал управляемую событиями модель потоков EA. Тем не менее, начальная передача с Bluetooth всегда задерживается. Например, если бы каждый пакет имел длину 15 байтов, делегат потока не сработал бы до примерно 150 байтов.
Поможет ли опрос?
РЕДАКТИРОВАТЬ:
Также мне было трудно восстановить сессию после того, как приложение переключилось обратно с фона на передний план. Попытка открыть сессию снова потерпит неудачу. Любая идея?
1 ответ
Читать каждый байт, когда NSStreamEventHasBytesAvailable
прибывает.
Вы разработали свой собственный аксессуар Bluetooth? Может быть, MCU сбрасывается только после отправки каждые 150 байтов.
Также вы упомянули initial transmission
, Знаете ли вы, когда устройство Bluetooth подключено и подключено к iPhone, оно должно пройти процедуру идентификации, рукопожатие какого-то секретного сертификата. Это может занять несколько и даже 10 секунд, в зависимости от качества сигнала. Это может быть причиной задержки.