| Предыдущий | Следующий |
| kIOBluetoothDeviceResetError | kIOBluetoothNoHCIController |
kIOBluetoothConnectionAlreadyExists
Повторная попытка подключения противоречит текущему состоянию контроллера
kIOBluetoothConnectionAlreadyExists сообщает о попытке открыть уже существующее соединение. В Bluetooth HCI предусмотрена аналогичная ошибка контроллера Connection Already Exists для нового запроса соединения с уже подключённым устройством, когда несколько соединений не разрешены.
Исправление не состоит в создании ещё одного параллельного объекта соединения. Клиент должен отличить действительно активное соединение от устаревшего учёта в приложении, оставшегося после отключения, сброса или изменения порядка обратных вызовов.
Что проверить
- Запишите адрес или идентификатор другой стороны, список соединений контроллера, время жизни объекта соединения приложения, недавние обратные вызовы подключения и отключения, а также события сброса.
- Повторно используйте или согласуйте существующее логическое соединение только после подтверждения, что оно относится к нужной стороне и состоянию службы.
- Если предыдущая операция завершилась неоднозначно, дождитесь достоверного события контроллера или обратного вызова API, а не запускайте новый запрос соединения одновременно с очисткой.
Ссылки
- Bluetooth SIG: функциональная спецификация Host Controller Interface
- Bluetooth SIG: коды ошибок контроллера
- Apple: IOBluetoothHostController
Нужно найти другой код? Найти другой код состояния или ошибки.